我如何为结构分配内存?

时间:2011-12-05 17:21:19

标签: c pointers linked-list

我有以下结构:

struct Node{
    int *VC;
    Node *Next;
};

我的目标是创建一个指向int

的指针链接列表

我的问题是如何为Node分配内存。 即

int* ptr = (int *) malloc(sizeof(int)*10);
//code to allocate memory for a new Node n
n->VC = ptr;
n->Next = null;   

然后我可能会这样做:

 int *_ptr= (int *) malloc(sizeof(int)*10);
 //code to allocate memory for a new Node c
 c->VC= _ptr;
 c->Next = null;

 n->Next = c;

2 个答案:

答案 0 :(得分:5)

struct分配内存与为int分配内存(在C中)相同。只需使用sizeof来获取结构的大小:

struct Node *n = malloc(sizeof(struct Node));

答案 1 :(得分:3)

Node *c = malloc(sizeof(*c));