FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

参照を学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

QUESTION 75

この問題では配列変数への配列変数の代入は、要素のコピーではなく同じ配列への参照のコピーとする。一方、配列の要素から整数変数への代入は整数値のコピーである。次の処理が終了したときのa[1]、b[2]、xの組合せはどれか。要素番号は1から始まる。 整数型の配列: a ← {4, 7} 整数型の配列: b ← a 整数型: x ← a[1] b[1] ← 9 a[2] ← x + 1 x ← 0

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:エ a[1] = 9、b[2] = 5、x = 0

この表示だけでは、回答数や正答率は変わりません。

解説

aとbは同じ配列を参照します。xには最初のa[1]の値4がコピーされます。b[1]を9にするとa[1]も9となり、a[2]にはx + 1 = 5を保存するのでb[2]も5です。最後にxだけを0にしても配列の保存済みの値は変わりません。

ア

aとbを独立した配列と扱っていますが、この問題では同じ配列への参照がコピーされます。

イ

a[2]を求める時点のxは4です。後からxを0にしてもa[2]が再計算されるわけではありません。

ウ

b[1]の変更はa[1]にも反映され、最後のxへの代入も実行されます。

エ

共有する配列の最終値は{9, 5}、独立した整数変数xの最終値は0です。

関連知識

変数と、その変数が参照するオブジェクトを分けて図にすると、別名参照を追いやすくなります。実際の言語で配列の代入や引数の受渡しが何をコピーするかは仕様によって異なるため、設問の規則を優先します。

間違えやすいポイント

xがa[1]とずっと連動すると思わないこと。整数の値は代入時点でコピーされています。配列への参照のコピーと、整数値のコピーを同じ扱いにしません。

覚え方

配列の矢印は共有し、整数の値はその時点で写す。

実務での意味

配列を編集する関数で呼出し元のデータも変わる理由を調べるとき、参照共有と必要なコピーの範囲を確認します。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、プログラミングの基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。