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