キーボードから入力した数だけのロッカーを割 り付け、各ロッカーにキーボードから入力したデータを保存し、最後に保存した内容を表示するプログラムkadai10-1.cを次のステップにしたがって 作成せよ。但し、各ロッカーには次のロッカーへのポインター(次のロッカーの鍵と思えばわかりやすい)も荷物に相当するデータといっしょに保存するものと する。
1-1 データ構造として次の構造体を用意する。
struct rocker {
int data; //保存するデータ
struct rocker *next; //次のボックスのアドレス(鍵)
};
1-2 最初の鍵として次のポインターを大域変数として用意する。
struct rocker *head;
1-3 1個のロッカーを割り当てて、最後に割り当てたロッカーに新しく割り当てたロッカーのアドレス(鍵)を保存する関数 struct rocker *new_rocker(struct rocker *last_rocker)を定義しなさい。ただし引数 last_rockerは最後に作ったボックスのポインターとする。この間数は新しく割り当てたロッカーのアドレスを返すものとする。
1-4 全てのロッカーに保存したデータを最初のロッカーから順番に表示していく関数 void display_rockers(struct rocker *pt)を定義しなさい。
ただし、実行結果が次のようになるように定義しなさい。
gcc kadai10-1.c
./a.out
3 説明:ロッカーの数を入力
1 3 4 データ入力
[ data = 1 ]->[ data = 3 ]->[ data = 4 ] 表示
※ 表示部分では printf("[ data = %d ]->", xxxxx); もしくは printf("[ data = %d ]\n", xxxxxx);を使用する。