如何声明具有动态分配的全局结构?我所知道的只是通过数组结构,但那是静态的。
user1859861
问问题
201 次
2 回答
4
可以在函数中动态分配结构。
#include <stdlib.h>
struct s *p;
int main(void)
{
p = malloc(sizeof *p);
return 0;
}
于 2012-11-28T12:41:25.400 回答
1
标准做法是在头文件中声明结构并在函数中定义它。
例如:
struct node {
int data;
struct node* next;
};
这将在头文件中定义,并将在函数中动态分配内存,如下所示
int main(void){
struct node *head;
head = malloc(sizeof(struct node));
//operations goes here
}
也不要忘记free
使用后的结构。
于 2012-11-28T12:52:10.633 回答