ポインタ
C/C++のポインタについて簡単にまとめていきます。
& : アドレス演算子
&a
で、変数aが保持されているメモリのアドレスが分かる。
以下のプログラムを実行すると、メモリのアドレスが出力される。
int a=1; cout << &a << endl;
結果は、例えば0x7fffb6016d64
と表示される。
コンパイルの度に変わる。
* : ポインタ宣言子
アドレスを格納するための変数のことを「ポインタ」という。
ポインタを宣言するとき、ポインタ宣言子「*」を使う。
int a=1; int *p; p = &a; cout << "p:" << p << endl << "aのアドレス:" << &a << endl;
この結果は、例えば
p:0x7ffdc81f2d84
aのアドレス:0x7ffdc81f2d84
のような結果になる。
* : 間接参照演算子
間接演算子は、ポインタに格納されているものを参照する演算子である。
int a=1; int *p; int b; p = &a; b = *p; cout << "pを間接参照:" << *p << endl << "b:" << b << endl;
実行結果は、
pを間接参照:1
b:1
となります。