解説 (役割)


メモリの節約

ポインタは, メモリ空間における, 変数のアドレスを表します.
例えば, 以下のコードを見てください.

#include <iostream>
using namespace std;

int main ()
{
   double d = 100.0;
   cout << "[d] " << "値: " << d << " アドレス: " << &d << endl << endl;

   double* p = &d;	
   cout << "[p] " << "値: " << p << " 格納されている値: " << *p << endl;

   return 0;
}

6行目で, double型の変数dを, 100で初期化しています. さらに, 9行目で, double型のポインタpに, dのアドレスを代入しています.
出力結果の例は, 以下の通りです.

[d] 値: 100 アドレス: 003FFE20

[p] 値: 003FFE20 格納されている値: 100

pの値が, dのアドレスになっています. さらに, pが指すアドレスに格納されている値が, dの値になっています.
「ポインタがなくても, 変数とアドレス演算子だけで, 十分ではないか!」と思うかもしれません. なぜ, ポインタが必要なのでしょうか?

解説を見る...


# 解説 (C++) へ戻る