&: 在C語言中有兩種意思,一種是取地址符,是單目運算符;另一種是位運算符,表示“按位與”,是雙目運算符。

1.用於指針賦值
#include<stdio.h>
int main()
{
int a = 2;
int*b;//定義一個整形指針
b = &a;//給指針賦值,使指針指向a的地址
printf("%d", b);//輸出的是a的地址
printf("\n");//換行符
printf("%d", *b);//*的作用是解引用,取出指針指向地址的內容,達到簡
return 0;
}
2.用於二目運算中的按位(位運算)與運算
單目是只需要一個操作數的意思 比如 a++ a-- *a &a
雙目是需要兩個操作數的意思 比如 a+b a-b a*b a/b a%b
三目是需要三個操作數的意思 比如 a=c>b?c:b;
例如:9&5可寫算式如下: 00001001 (9的二進制補碼)&00000101 (5的二進制補碼) 00000001 (1的二進制補碼)可見9&5=1。
按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進制數為0000000011111111)。
main(){
int a=9,b=5,c;
c=a&b;
printf("a=%d/nb=%d/nc=%d/n",a,b,c);
}
3.當出現“&&”時用於邏輯與
說得簡單點就是:邏輯與
說的通俗一點就是:並且~~
&&相當於集合里面的交集——例如:女人&&男人 —— 地球上沒人是真值
PS: || 是 “邏輯或”、“或者”——例如: 女人||男人 —— 地球上人人都滿足
總結
1、取地du址操作符。單目運算,zhi與其后的dao變量或常量組合,用於獲取zhuan該操作數的內存地shu址。
2、位操作中的按位與操作,雙目運算符,&的兩邊的表達式均參與操作。
計算時,按位計算。對於任意一位,如果兩個操作數該位上的值均為1,則結果該位上為1,否則結果該位上值為0.
3、當兩個&符號同時使用,即&&符號,代表邏輯運算中的邏輯與。雙目運算符,&&的兩邊的表達式均參與操作。
當&&兩邊均為真時,結果為真。否則結果為假。
&&由於是邏輯運算,結果只有真(1)或假(0)兩種情況。
到此這篇關於c語言中&的用法示例的文章就介紹到這了,有什么問題歡迎評論區留言。

最后,如果你也想成為程序員,想要快速掌握編程,趕緊加入學習企鵝圈子!
里面有資深專業軟件開發工程師,在線解答你的所有疑惑~編程語言入門“so easy”
編程學習書籍:

編程學習視頻:
