c語言中的&的用法

jackcily發表於2017-03-16

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: ||  是 “邏輯或”、“或者”——例如: 女人||男人 —— 地球上人人都滿足(除了某些特殊職業的。。。) 

相關文章