基本情報技術者
テクノロジ系
プログラミングにおける「ポインタ」の説明として適切なものはどれか。
1.
変数の値を保持するメモリ領域
2.
他の変数のメモリアドレスを保持する変数
✓ 正解
3.
プログラムの実行位置を示す変数
4.
配列の要素数を保持する変数
📝 解説
「ポインタ」はC言語などで使われる「別の変数が存在するメモリアドレス(番地)を値として格納する特殊な変数」です。住所録に例えると、普通の変数が「田中太郎という人物そのもの」を入れた箱なら、ポインタは「田中太郎の自宅住所が書かれた紙」を入れた箱です。住所(アドレス)を通じて田中さんに会いに行くことができ、住所を別の人に渡すこともできます。コンピュータのメモリは番地(アドレス)が割り振られた連続した棚のようなもので、ポインタはその番地を保持します。ポインタを使うことで連結リスト・木構造・動的なメモリ確保など柔軟なデータ構造を実現できます。「*p」でポインタが指す先の値を参照(デリファレンス)し、「&x」でxのアドレスを取得します。誤答の「変数の値を保持するメモリ領域」は通常の変数の説明、「プログラムの実行位置を示す変数」はプログラムカウンタ(PC)の話、「配列の要素数を保持する変数」はサイズ変数の話です。「ポインタ=別の変数のメモリアドレスを格納する変数」と覚えましょう!