位置:首頁 > 高級語言 > C++教學 > C++指針(&和*)運算符

C++指針(&和*)運算符

C++提供了兩個指針運算符:(a)地址操作符(&);(b)間接運算符(*)。

指針是包含另一個變量的地址的變量,也可以說是包含另一個變量的地址的變量被認為是“點”的另一個變量。變量可以是任何數據類型,包括一個對象,結構或再次是指針本身。

.(點)運算符和->(箭頭)運算符是用來引用類,結構和聯合各個成員。

操作地址 &:

&是一個一元運算符返回其操作數的內存地址。例如,如果var是整型變量,&var為它的地址。這個操作符具有相同的優先級和從右到左關聯的其他一元運算符。

應閱讀相關&“地址”運算符,這意味著&var將被解讀為“var的地址”,。

間接尋址運算符 *:

第二個運算符是間接操作*,並且它是&互補。它是一元運算符,返回位於其操作數所指定的地址的變量的值。

下麵的程序執行兩個操作

#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