动态分配的全局结构

时间:2012-11-28 12:40:16

标签: declaration structure

如何使用动态分配声明全局结构?我所知道的只是通过数组结构,但这是静态的。

2 个答案:

答案 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结构。