本文へスキップ

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


Since 2016.4.19

令和元年度 技術士第一次試験問題【専門科目】

V−4

異なる文字どうしの関係を、文字値を持つレコードによって表現するプログラムを考える。実行のある時点で、3つの局所変数が使用されていて、 レコードが下図のような参照関係になっていたとする。このとき、 マーク・アンド・スイープごみ集めによって回収できるレコードを、保持する文字値で示したものとして、最も適切なものはどれか。

@ 'b'

A 'e'、'g'

B 'b'、'c'、'f'

C 'b'、'c'、'e'、'f'

D 回収されるレコードはない。


正解

B


解説

局所変数は、ローカル変数のことである。
また、ヒープ領域は、プログラム実行時において、動的に確保が可能な記憶領域のことである。
使用されている局所変数で一番上の変数は 'a' を参照している。
真ん中の局所変数は 'd' を参照し、さらにヒープ領域で 'e' と 'g' を参照している。
一番下の変数は 'g' を参照している。

したがって、マーク・アンド・スイープごみ集めによって回収できるレコードを、保持する文字値で示したものは、'a', 'd', 'e', 'g' 以外、すなわち、'b', 'c', 'f' である。

なお、ガベージコレクション (Garbage Collection) は、プログラムが動的に確保したヒープ領域のうち、使用しなくなった領域を回収して再度使用可能にすることであり、マーク・アンド・スイープごみ集めは、ガベージコレクションの実装方法の一つである。

V−3 目次 V−5