C++ 中 & 符號的用途是什麼?


C++ 中,& 符號用作運算子。它在兩個不同的位置使用,一個用作按位與運算子,另一個用作 指標地址運算子

按位與

按位與運算子 (&) 將第一個運算元的每個位與第二個運算元的相應位進行比較。如果兩個位都是 1,則該位設定為 1。否則,該位設定為 0。按位與運算子的兩個運算元必須是整數型別。

示例

#include <iostream>  
using namespace std;
 
int main() {  
   unsigned short a = 0x5555;      // pattern 0101 ...  
   unsigned short b = 0xAAAA;      // pattern 1010 ...  

   cout << hex << ( a & b ) << endl;
}

輸出

這將輸出:

0

地址運算子

C++ 提供了兩個指標運算子,即地址運算子 (&) 和間接運算子 (*)。

一個 指標 是一個包含另一個變數地址的變數,或者可以說,包含另一個變數地址的變數被稱為“指向”另一個變數。變數可以是任何資料型別,包括物件、結構體或再次是指標本身。

地址運算子 (&) 是 * 的補碼。它是一個一元運算子,返回其運算元指定的變數 (右值) 的地址。例如:

示例

#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

更新於:2023年11月7日

29K+ 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告