如何分配内存?

Viv*_*vek 0 c gcc memory-management

我试图在我的程序中创建一个链表,我无法使用malloc()为结构指针分配内存.如何在GCC中为变量分配内存?示例程序如下.如何让它在gcc中运行?

#include<stdio.h>
#include <alloc.h>
struct node
{

    int data;
    struct node * link;

};
void insert (struct node *p, int d)
{
    struct node *temp;
    temp = malloc(sizeof(struct node));
        temp->data=d;
    temp->link=NULL;

        if(p==NULL)
        {
            p=temp;
        }
        else{
        while(p->link!=NULL)
            p=p->link;

    p->link=temp;
        }
}
void disp(struct node *p)
{
    while(p!=NULL)
        {
        printf("%d\n",p->data);
        p=p->link;
        }


}

int main()
{

struct node *p;
p=NULL;
insert(p,7);
insert(p,9);
disp(p);

}
Run Code Online (Sandbox Code Playgroud)

我遇到的错误是:

Line 18: error: alloc.h: No such file or directory
In function 'insert':
Line 13: warning: incompatible implicit declaration of built-in function 'malloc'
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 7

malloc<stdlib.h>.包括那个.

阅读该函数的手册页会给你这些信息.它不依赖于编译器.