先ほど質問にのっていましたが私がわからなかったのと、
横やりしたくなかったのでプログラムについて教えてください。
c
1#include<stdio.h> 2#include<stdlib.h> 3 4typedef struct Node{ 5 int value; 6 struct Node *next; 7}Node; 8 9Node *allocNode(int value, Node *next){ 10 Node *node; 11 node=(Node *)malloc(sizeof(Node)); 12 node->value=value; 13 node->next=next; 14 return node; 15} 16 17int main(){ 18 Node *top=NULL; 19 20 top=allocNode(9,top); 21 top=allocNode(6,top); 22 top=allocNode(3,top); 23 top=allocNode(1,top); 24 top->next=allocNode(5,top->next); 25 26 while(top!=NULL){ 27 printf("%d\n",top->value); 28 top=top->next; 29 } 30 return 0; 31}
top=allocNode(9,top);は node->value=value;に9
node->next=next; //nextにNULL入りませんか。質問➀
return node;で nodeを保存している.
top->next=allocNode(5,top->next);何をしているのかわからない。
while(top!=NULL)じゃないならNULLじゃない限り続けるとは?
最後の top=top->next;が一番わからないです。教えてください。
(どこか間違えているとか指摘ではないんで)
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/03 11:29