用于指针的C中的内存分配

时间:2018-03-02 22:09:47

标签: c malloc dynamic-memory-allocation calloc

我正在尝试在C中构建一个名为PROCESS的结构,这个结构应该包含进程的ID(id)和等待时间(wt)。

typedef struct PROC{
    int id;
    int wt;
}PROCESS;

PROCESS *pt = NULL;

现在我想像数组一样创建这个结构的一个实例。 我想做的是这样的事情:

PROCESS pt[10];
pt[0].id = 5;
pt[1].id = 7;

但我想用动态内存分配来做到这一点:

pt = calloc(2,sizeof(PROCESS));

pt[0]->id = 5;

我的错误是什么?

1 个答案:

答案 0 :(得分:0)

typedef struct process{
    int id;
    int wt;
}processes;

我会像这样分配 - >

int numberOfDynamicStructs=2;

processes* myProcesses= calloc(numberOfDynamicStructs,sizeof(processes));

直写>

myProcesses[0].id=1;
myProcesses[1].id=2;

读 - >

printf("%d %d",myProcesses[0].id,myProcesses[1].id);

完成后免费..

/ A