配列の宣言方法を再度掲示すると、
[型] 配列名[大きさ]; |
ここで注意するべきなのは、型として許されるものであるならば何でも良いと いう点である。今まで、我々は、整数型、文字型、実数型の他に、それらの型に 対するポインタ型を学習してきた。従って、ポインタを値に持つような配列も 宣言可能である。この場合、例えば、整数型へのポインタであり、大きさ 10 の 配列は次のように宣言出来る。
int *parray[10]; |
前の章で学んだように、複数の配列を一度に宣言しても良いが、星印 *
は
それぞれの配列名の前につけなければならない。
int *pa1[10], *pa2[10], *pa3[20]; |
意味的には、整数へのアドレスを 10 個保持できる配列 pa1
, pa2
、
同じく 20 個保持できる配列 pa3
が確保されたという意味になる。
一方、文字型にたいするポインタの配列も考えられる。
char *pastr[3]; |
この場合、配列 pastr
はあくまでも文字へのアドレスを 3 個持てるだけの
メモリ領域しか確保されていない点に注意しよう。従って、使うときには次のように
して使う。
例 1 char *pastr[3]; pastr[0] = "This is "; pastr[1] = "That is "; pastr[2] = "These are "; |
この時、文字列 "This is"
はメモリ上に自動的に配置され、その文字列の
アドレス(実際には 'T' のアドレス) が pastr[0]
に入っているのである。