Latest web development tutorials

C ++ポインタ演算子(&と*)

C ++演算子 C ++演算子

C ++は、* 1は、アドレス演算子である&Aが間接演算子である、2ポインタ演算子が用意されています。

ポインタが他の変数のアドレスが含まれている変数は、あなたが別の変数を「点」と言われ、他の変数のアドレスを含む変数を置くことができるです。 変数は、オブジェクト、または構造体へのポインタを含む、任意のタイプのデータとすることができます。

アドレス演算子&

&単項演算子は、オペランドのメモリアドレスを返します。 例えば、varが、その後、整数型の変数である&varがそのアドレスである場合。 他の単項演算子と演算子は同じ優先順位を持っている、それが右から左への順序の動作時です。

あなたはのように読んで意味「アドレス演算子、 "、&varなどの&演算子を読むことができる「VARアドレス」。

間接演算子*

第二オペレータは、&演算子を補完する間接演算子*、です。 *単項演算子、指定した変数オペランドアドレスの戻り値です。

これら2つの演算子の使用方法を理解するために、次の例を考えてみましょう。

#include <iostream>
 
using namespace std;
 
int main ()
{
   int  var;
   int  *ptr;
   int  val;

   var = 3000;

   // 获取 var 的地址
   ptr = &var;

   // 获取 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

C ++演算子 C ++演算子