我有以下结构:
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;
答案 0 :(得分:5)
为struct
分配内存与为int
分配内存(在C中)相同。只需使用sizeof
来获取结构的大小:
struct Node *n = malloc(sizeof(struct Node));
答案 1 :(得分:3)
Node *c = malloc(sizeof(*c));