&在c语言中是逻辑与的意思。
&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。
在C语言中,&有三种作用,分别如下:
1、取地址。单目运算符。用来取一个变量的地址。
2、位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1,否则该位值为0。
3、当两个&&一起用的时候,表示为逻辑运算中的与运算。
逻辑运算结果只有0和1两种结果。
一般在&&两边是两个逻辑表达式。
当两个表达式值均为1时,&&运算结果为1,否则为0。
主要有两个意思:
取地址符,用在指针表达式或输出变量地址时 例如 int a; &a就是表示变量a在内存中地址
二进制位与位运算符 1&1=1 0&0=0
C语言主要特点:
C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。
C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。
&在C语言里有两种意思,一种是取地址符,这种情况是单目运算符,另一种是位运算符,表示按位与,这种情况是双目运算符。
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)合理使用优先级可以极大简化表达式。
“ & ”在c语言中是按位与运算符的意思。
1、用于指针赋值
#include
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;
3、当出现“&&”时用于逻辑与
说得简单点就是:逻辑与
说的通俗一点就是:并且~~
&&相当于集合里面的交集——例如:女人&&男人 —— 地球上没人是真值
PS: || 是 “逻辑或”、“或者”——例如: 女人||男人 —— 地球上人人都满足(除了某些特殊职业的。。。)
C语言中的符号可以分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
1 算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)
、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
通常我们说话是加&表示“与”,比如Jake & Tom,C语言里&较为基础的一个使用就是“按位与”,它用在数据与数据之间进行运算(注意,它与【逻辑与】“&&”不同),比如十六进制a=0x10&0x01=0x00,而逻辑与的结果则是a=0x10&&0x01=1(TRUE);
第二个就是作为取地址符,这时候他用于数据的前面,比如int a=&b;
C++里还使用&作为引用符,如果你确认程序是标准的C而非C++的话,那么可以排除是引用了。引用也用于数据前面,它只在定义和声明时使用,如int &othername=name;
int &a=b; //定义时使用在等号左侧,是引用
int *a=&b; //在等号右侧,并单独在数据之前,是取地址
int a=(&b) & 0xffff; //第一个&是用于取b的内存中的地址,第二个&是按位与,即保留b地址值的低16位,高16位数值被清零(32位处理器下).