#include <stdio.h>
#include <stdlib.h>
構造の定義
typedef struct node{
char name[20];
struct node *next;
}Node;
Node *head = NULL;
void insert ();
int main (){
Node *student1, *student2;
Node *walker;
int i;
head = (Node*)malloc(sizeof(Node));
for (i=0; i<3; i++) insert();
walker = head;
while(walker != NULL){
printf ("%s\n", walker->name);
walker = walker->next;
}
return 0;
このループは正常に機能しますが、プログラムをクラッシュさせる前に最後にゴミを追加します
}
最初に新しいノードを挿入する
void insert(){
Node* nn;
nn = (Node*)malloc(sizeof(Node));
printf ("Name: ");
scanf ("%s", nn->name);
nn->next = head;
head = nn;
return;
}