プログラミング言語実験 其の一 20170411
・list構造の復習(C言語)
<基本設定>
…Node型の設定
typedef struct _Node{
double data; //Nodeに入れるデータ
struct _Node *next; //自己参照構造体
}Node;
…先頭のNodeの設定
Node *p,*start;
p=malloc(sizeof(Node)); //大きさNodeのメモリを動的に確保
start=p; //最初に設定した位置を*startに記録
...Nodeの連鎖の設定
for(i=0;i<n;i++){
p->next=malloc(sizeof(Node)); //メモリを動的確保
p=p->next; //pの位置をポインタで指し示す次のNodeに移す
}
この後は、pをstartの位置まで戻して同じようにしてデータの格納を行っていく。
データを出力するときもpをstartの位置まで戻して順番に出力していくとよいだろう。
あと、malloc関数を用いるときには
#include<stdlib.h>
を冒頭に書き示さなければならないことに注意。
参照:自己参照構造体