これは、Cプログラミング言語のリンクリストのコードです。Cで構造体を使用するには?
#include <stdio.h> /* For printf */
#include <stdlib.h> /* For malloc */
typedef struct node {
int data;
struct node *next; /* Pointer to next element in list */
} LLIST;
LLIST *list_add(LLIST **p, int i);
void list_remove(LLIST **p);
LLIST **list_search(LLIST **n, int i);
void list_print(LLIST *n);
コードは完成していませんが、私の質問には十分だと思います。ここでは、structノードの最後に "LLIST"が使用され、関数list_add
のプロトタイプでは戻り型としても使用されます。何が起こっている?
技術的には、各項目に対して「malloc」を実行する必要がありますそれは厳密にはリストではなく、リスト内の次の項目へのポインタ( '* next')を持つ構造体であるため、リスト内にあります。したがって、各リスト項目の作成時に別々のmallocを実行します。 – wizzwizz4