如何使用动态分配声明全局结构?我所知道的只是通过数组结构,但这是静态的。
答案 0 :(得分:4)
可以在函数中动态分配结构。
#include <stdlib.h>
struct s *p;
int main(void)
{
p = malloc(sizeof *p);
return 0;
}
答案 1 :(得分:1)
标准做法是在头文件中声明结构并在函数中定义它。
例如:
struct node {
int data;
struct node* next;
};
这将在头文件中定义,并将在函数中动态分配内存,如下面的
int main(void){
struct node *head;
head = malloc(sizeof(struct node));
//operations goes here
}
使用后也不要忘记free
结构。