マエカワの備忘録的な何か

思い立ったが吉日

プログラミング言語実験 其の一 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>

を冒頭に書き示さなければならないことに注意。

 

参照:自己参照構造体