Relative Content

Daily Archives: May 31, 2016

11.1 文字列とポインタ

ポインタの配列 複数の文字列をchar型の2次元配列で宣言しました。それを下記に示します。 char kw[3][7] = {“double”, “extern”, “switch”}; 同様なものをポインタを使って宣言すると、下記のようにポインタの配列となります。 const static char *wday[ ] = { “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, NULL }; [ ]の中には8が入るのですが、コンパイラが数えてくれるので省略しています。 wday[0]は最初は”Sunday”の先頭アドレスを指します。 wday[1]は最初は”Monday”の先頭アドレスを指します。 wday[0]++とすると、 wday[0]は”Sunday”の1番目の要素を指します。 wday[1]++とすると、 wday[1]は”Monday の2番目の要素を指します。 以下、同様です。 配列の最後の要素は、’NULL’です。このようにしてあるのは、ポインタの配列が幾つあるか計るためです。 ‘NULL’を使わない場合は、ポインタの配列の数を保持している変数が必要になります。 #include <stdio.h> /* ポインタwday[ ]の指している文字列の配列は、 const:書き変え禁止で static:他のファイルから参照禁止 */ const static char *wday[ ] = { “Sunday”, “Monday”, “Tuesday”, […]