小编Sal*_*kes的帖子

在struct中为数组分配内存(在C中)

我需要在C中定义一个包含要被malloc为的数组的类型结构:

#include <stdio.h>
#include <stdlib.h>

typedef struct mine
{
    int N;
    double *A;
} mine;

int main(int argc, char** argv) 
{
    int i;
    mine *m=malloc(sizeof(mine));
    printf("sizeof(mine)=%d\n",sizeof(mine));
    scanf("Enter array size: %d",&(m->N));
    m->A=malloc((m->N)*sizeof(double));
    for(i=0; i < m->N; i++)
        m->A[i]=i+0.23;
    printf("First array element: %lf",m->A[0]);

    return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

程序编译并运行,整数赋值似乎工作正常.但是,该阵列不能正常工作.

有什么建议?我想仍然是一个指针(传递给功能等).

谢谢.

c arrays malloc struct pointers

3
推荐指数
1
解决办法
1321
查看次数

标签 统计

arrays ×1

c ×1

malloc ×1

pointers ×1

struct ×1