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: ||  是 “逻辑或”、“或者”——例如: 女人||男人 —— 地球上人人都满足(除了某些特殊职业的。。。) 

猜你喜欢

转载自blog.csdn.net/chrisqinxz/article/details/80074945