在C語言中,&有三種作用,分別如下:
1. 取地址。單目運算子。用來取一個變數的地址。
比如
int i, *p;p = &i;//這裡的&作用是取變數i的地址。
2. 位操作中的與操作運算子。
也就是常說的and操作,雙目運算子。
計算的時候按位計算,&兩邊運算元對應位上全為1時,結果的該位值為1。否則該位值為0
0x12&0x23 轉為二進位制為:
B00010010&B00100011,
按位計算結果為B00000010,
即結果為0x02。
3. 當兩個&&一起用的時候,表示為邏輯運算中的與運算。
邏輯運算結果只有0和1兩種結果。
一般在&&兩邊是兩個邏輯表示式。
當兩個表示式值均為1時,&&運算結果為1,否則為0。
2>1 && 0<1 這個的值為1&&1 = 1。
1>2 && 2>0 這個值為0&&1 = 0。
1>2 && 2>3 這個值為0&&0=0。
在C語言中,&有三種作用,分別如下:
1. 取地址。單目運算子。用來取一個變數的地址。
比如
int i, *p;p = &i;//這裡的&作用是取變數i的地址。
2. 位操作中的與操作運算子。
也就是常說的and操作,雙目運算子。
計算的時候按位計算,&兩邊運算元對應位上全為1時,結果的該位值為1。否則該位值為0
比如
0x12&0x23 轉為二進位制為:
B00010010&B00100011,
按位計算結果為B00000010,
即結果為0x02。
3. 當兩個&&一起用的時候,表示為邏輯運算中的與運算。
邏輯運算結果只有0和1兩種結果。
一般在&&兩邊是兩個邏輯表示式。
當兩個表示式值均為1時,&&運算結果為1,否則為0。
比如
2>1 && 0<1 這個的值為1&&1 = 1。
1>2 && 2>0 這個值為0&&1 = 0。
1>2 && 2>3 這個值為0&&0=0。