- トップページ
- 応用情報技術者
- 平成23年度秋季問題一覧
- 平成23年度秋季問題22-解答・解説-分析
平成23年度秋季問題
問題22
メインプログラムを実行した結果はどれか。ここで、staticは静的割当てを、autoは動的割当てを表す。
メインプログラムを実行した結果はどれか。ここで、staticは静的割当てを、autoは動的割当てを表す。
解答:イ
<解説>
プログラムの実行時に関数の中で宣言する変数の割当方法には、次のものがある。
- 動的割当
- 動的に割り当てるメモリ領域を使う。
関数終了時に変数はメモリから削除されるため値が残らない。 - 静的割当
- あらかじめ固定されたメモリ領域を使う。
呼び出された関数が終了しても変数自体はメモリ上に存在するので変数の値は残る。
- X=f(2) + f(2)
関数fの変数は動的割当なので関数終了時に変数の値は削除されている。- 1回目のf(2)で2+1=3
- 2回目のf(2)で2+1=3
- 3+3=6
- Y=g(2) +gf(2)
関数gの変数は静的割当なので関数終了時に変数の値は残っている。- 1回目のg(2)で2+1=3
- 2回目のg(2)で3+2=5
- 3+5=8
したがって、イが正解である。
分類
キーワード
- 「参照呼び出し(参照渡し)」関連の過去問題・・・参照呼び出し(参照渡し)とは
- 応用情報技術者 平成23年度(秋季) 問22
- 応用情報技術者 平成25年度(春季) 問20
- 高度共通 午前1 平成25年度(春季) 問7
お問い合わせ