C C 中 與 運算

2021-06-22 20:11:07 字數 891 閱讀 9469

int i = 5;

int* i_pointer = &i;

*&i,&*i_pointer,*&i_pointer 的值各是什麼呢?

*和&是同優先順序運算子,自右至左結合。

&是取位址運算;

*是取位址的本身;

知道了上述內容,就不難知道上面的問題了。

*&i,&i取i位址,*(&i)取位址的本身,那就是等於i本身了。

&*i_pointer,*i_pointer取位址的本身,那就是i了,&(*i_pointer)就等於&i了,也一樣等於i_pointer。

*&i_pointer,&i_pointer取i_pointer位址,*(&i_pointer)取位址的本身,那就等於i_pointer了。

通過下面**證明上述內容

int i = 5;

int* i_pointer = &i;

//i本身

cout << i << endl;

cout << *i_pointer << endl;

cout << *&i << endl;

//i的位址

cout << &i << endl;

cout << i_pointer << endl;

cout << &*i_pointer << endl;

//指標自身位址

cout << &i_pointer << endl;

//指標本身

cout << *&i_pointer << endl;

輸出如下: 55

50022fe6c

0022fe6c

0022fe6c

0022fe60

0022fe6c

C C 中的位運算

位運算的操作物件是整數型別,在運算過程中,整數被看作二進位制的集合,位運算的功能是提供檢查和設定二進位制的功能。位運算遵從左結合律。位求反 左移 右移 位與 位異或 位或 1 左移 把二進位制位向左移位,右側插入0進行補位。2 右移 把二進位制向右移位,如左側物件是無符號位,則插入為0的二進位制。若...

C C 中的位運算

c c 提供了六個位運算操作符,可以對整數進行位運算,下面分別來介紹這六種位運算子。1 按位與 將兩個運算元的每乙個二進位制位進行邏輯與運算。例如 3 5 3 00000011 5 00000101 3 5 00000001 按位與操作有以下兩個特別的用處 將某個運算元的若干位置0 取運算元的若干指...

c c 中 運算子 左結合與右結合

右結合性,就是在表示式中最右邊的操作最先執行,然後從右到左依次執行 左結合性的操作符 如位操作符 和 則是從左至右依次執行 在標準c語言的文件裡,對操作符的結合性並沒有做出非常清楚的解釋。乙個滿分的回答是 它是仲裁者,在幾個操作符具有相同的優先順序時決定先執行哪乙個。每個操作符擁有某一級別的優先順序...