本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成20年度 技術士第一次試験問題【専門科目】

W−5

C言語で書かれたプログラムがUNIX系オペレーティングシステムにおいて実行される際、使用する変数や作業領域に関するメモリに関して、次の中から最も適切なものを選べ。

@ malloc を用いて多くのメモリを確保するとスタック領域が大きくなる。

A ローカル変数はヒープ領域に割り当てられる。

B グローバル変数はコード領域に割り当てられる。

C ローカル変数はスタック領域に割り当てられる。

D C言語はガーベージコレクションが備わっているので動的に確保したメモリは解放しなくてもよい。


正解

C


解説

@ mallocにより確保されるメモリはヒープ領域に確保される。

A ローカル変数はスタック領域に割り当てられる。

B グローバル変数は静的領域に割り当てられる。

C 正しい。

D ガベージコレクションは、実行中のプログラムが使用しなくなったメモリ領域を解放して他のプログラムで使えるようにすることである。

AとCが対になるような記述であり、どちらかが正しいことが推測できてしまう。(どちらも間違っているかもしれないが。)

W−4 目次 W−6