Java言語入門 〜C言語を学んだ君へ〜
[第6回]演習問題T第3問解答
第3問解答
第3問解説
これは、配列の知識を確認する問題です。知っていたら簡単な問題です。
出力結果の1行目
これは問題ないでしょう。プログラムの最初で配列array1に格納した値を表示しているだけです。
出力結果の2行目
array1の内容を表示しています。
プログラム上ではarray1の内容を書き換えていないはずですが、1行目の出力結果と異なっています。
これは、array2で配列の内容を書き換えたためです。
問題プログラムの4行目でint array2[] = array1;を行っています。
これは、array1の内容をarray2にコピーしたのではなく、「同じ配列を参照する」という意味です。
そのため、array2で書き換えた結果がarray1に反映されたのです。C言語のポインタに似ています。