17.5 課題 17

cd c を実行した後で( ~/c に移動した後で )、以下の課題を やってみよ。

課題 17.1
アドレスを見る

例 2 を実行して、array の値と &array[0] の値が同じ であることを確認してみよ。

課題 17.2
配列とポインタの相似

例 5 を実行してみて、同じ文字列 "array" が出力される事を確認せよ。

課題 17.3
ポインタ配列

文字列へのポインタ配列を利用し、「げっつ、すげぇー」、「めちゃ、すげぇー」、 「なまら、すげぇー」がランダムに 20 行表示されるプログラムを作成せよ。

参考 char *pastr[3] を用意し、それらに上記の文字列のアドレスを 代入し、乱数を使って、pastr[乱数] が表示されるようにする。

課題 17.4
ポインタと配列 II

以下のようにポインタ配列に人の名前が入っている。この中から、文字 'o' を含む人の名前だけを表示するプログラムを作成せよ。但し、プログラムは、 人の名前が変わってもきちんと動作するように一般的に作成せよ。 更に、一人の人の名前に 'o' が複数含まれている場合でも、人名は 一度だけ表示されること。 作成したプログラムを、creport までメイルで送ること。題名は、kadai17 とする。

       char *name[10];
       name[0]="maruyama";  name[1]="kanayama";
       name[2]="ueda";      name[3]="sakamoto";
       name[4]="momma";     name[5]="fujiki";
       name[6]="himemiya";  name[7]="saga";
       name[8]="seino";    name[9]="kagami";

ヒント

文字型のポインタを用意し、p=name[i] としてから、 while(*p!='\0'){... p++;} を使う。


最初のページ 戻る 目次
Hiroyasu Asami