誰でもこれを説明できますか?Cでのmalloc()関数
struct node
{
int data;
struct node * link;
}
main()
{
struct node *p, *list, *temp;
list = p = temp = NULL;
.........................
.........................
}
addbeg()
{
int x;
temp=malloc(sizeof(struct node));
scanf("%d", &x);
temp->data=x;
temp->link = list;
list=temp;
}
これは、C言語でリンクリストにデータを入力するためのコードです。コードは完全ではありませんが、私はその目的のために十分だと思います。基本的にこれらの行をコーディングを説明してください:
temp=malloc(sizeof(struct node));
と
temp->link = list;
list=temp;.
コードは最終的に各割り当てのメモリが 'free()'で解放され、 'メモリリーク'や '小さな学習プログラムではそれほど重要ではないが、あなたは小規模の学習プログラムでもそれを正しく行う方法を学ぶことができます。 –
'list'と' temp'がaddbeg()に渡されないか、またはmainの中でaddbeg()が定義されていない限り、彼のプログラムはとにかく動作しません。 –
addbegは標準Cでmain内で定義することはできません。一部のコンパイラでは拡張子として許されていますが、有効ではありませんC. –