快捷搜索: 王者荣耀 脱发

C语言丨运算符号&的三种用法(有示例代码)

&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。

1.用于指针赋值

#include<stdio.h> int main() { int a = 2; int*b;//定义一个整形指针 b = &a;//给指针赋值,使指针指向a的地址 printf("%d", b);//输出的是a的地址 printf(" ");//换行符 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)两种情况。

最后,如果你也想成为程序员,想要快速掌握编程,赶紧加入!

里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

编程学习书籍:

编程学习视频:

经验分享 程序员 微信小程序 职场和发展