Cplusplus-cpp-pointer-operators
提供:Dev Guides
C ++ポインター演算子
C ++には、(a)演算子&のアドレスと(b)間接演算子*の2つのポインター演算子があります。
ポインターは、別の変数のアドレスを含む変数です。または、別の変数のアドレスを含む変数は、他の変数を「指す」と言うことができます。 変数は、オブジェクト、構造、または再びポインター自体を含む任意のデータ型にすることができます。
です。 (ドット)演算子と→(矢印)演算子は、クラス、構造体、および共用体の個々のメンバーを参照するために使用されます。
オペレーターのアドレス&
の たとえば、varが整数変数の場合、&varはそのアドレスです。 この演算子は、他の単項演算子と同じ優先順位および右から左への結合性を持っています。
&演算子は "the address of" として読む必要があります。つまり、*&var *は "the address of var"として読み込まれます。
間接演算子*
2番目の演算子は間接演算子*であり、&の補数です。 オペランドで指定されたアドレスにある変数の値を返す単項演算子です。
次のプログラムは、2つの操作を実行します
#include <iostream>
using namespace std;
int main () {
int var;
int *ptr;
int val;
var = 3000;
//take the address of var
ptr = &var;
//take the value available at ptr
val = *ptr;
cout << "Value of var :" << var << endl;
cout << "Value of ptr :" << ptr << endl;
cout << "Value of val :" << val << endl;
return 0;
}
上記のコードをコンパイルして実行すると、次の結果が生成されます-
Value of var :3000
Value of ptr :0xbff64494
Value of val :3000