C语言中“&”是什么意思?什么作用?

发布网友 发布时间:2022-03-01 03:33

我来回答

4个回答

热心网友 时间:2022-03-01 05:02

取地址,如&a,就是取变量a在内存中的地址。用scanf时,在变量前必须加&。

热心网友 时间:2022-03-01 06:20

当在变量前时,如&a,表示取地址,
做运算符时,如a&b,表示二进制与运算,
做逻辑运算时(要两个连用,即&&),如表达式1&&表达式2,表示逻辑与运算

热心网友 时间:2022-03-01 07:55

所谓取地址,就是取得变量在内存中的物理地址,我们知道变量在内存中都是有一个地址的,物理地址唯一标识了变量.
指针存放的就是变量的地址,赋值后就可用指针来操纵变量.例:
int
i
=
0;
int
*p
=
&i;
*p
=
2;
//
==>
i
=
2

热心网友 时间:2022-03-01 09:46

1.
"按位与"
运算符.
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1
,否则为0。参与运算的数以补码方式出现。
例如: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);
}
2.
变量

求地址
运算符&
例如:int
a;
float
b;
scanf("%d
%f
",&a,&b);
a
是整型变量,b
是float
型变量,
输入语句的参数
规定要用变量
的地址表示,
所以
用了
&a
变量a的地址
,
&b变量b的地址.
3。
&&

逻辑运算符
逻辑

if
(
(a
>
b)
&&
(
a
>
c)
)
max
=
a;
双目运算,真
&&

得真;假
&&


假;假
&&

得假.
4.
&
也可以是字符

字符常数
"&&&"
--
双引号里的东西是
字符串。
'&'
--
单引号里的东西是字符常量,是整数,数值等于
它的
ASCII

编码值。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com