演習第5回問題1 アドレスの増え方 float f_array[] : アドレスは 4ずつ増える。 理由は、float型変数(配列の要素1つ)のサイズが 4バイトのため。 double d_array[] : アドレスは 8ずつ増える。 理由は、double型変数(配列の要素1つ)のサイズが 8バイトのため。 char c_array[] : アドレスは 1ずつ増える。 理由は、char型変数(配列の要素1つ)のサイズが 1バイトのため。 char c_2d_array[][9] : アドレスは 9ずつ増える。 理由は、c_2d_array[][9]の要素はchar型であり、1行あたり 9個の要素をもつため。 2次元配列のため、1バイトx9 = 9バイト。 (1行あたりの要素数は指定されているので、文字数は関係ない。 文字数が短いせいで余った領域は使用されないままとなる。) char* str_array[] : アドレスは 8ずつ増える。 理由は、str_array[]の要素は文字型ポインタであり、ポインタのサイズが 8バイトであるため。 (str_array[]に格納されているのは文字列の場所を示すアドレスであって、 文字列そのものではないので、文字数は関係ない。)