取地址运算是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:57:01
&是取地址运算
那么取地址运算是不是 就是说在键盘上取数据呢
比如说这个语句是什么意思呢
scanf("%d,%d",&x,&y);
这个语句里包含了取地址运算符,那么这个符号在这里的意思是不是说要在键盘上取两个数值呢?

&作为一元运算符,结果是右操作对象的地址。
例如&x返回x的地址。
地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置。至于对象,LZ现在只需知道包含常量、变量等数据就可以了。
scanf("%d,%d",&x,&y);
这里的&x表示x的地址,&y表示y的地址。scanf接收地址,然后把键盘(更确切地说是stdin输入流缓冲区)读入的信息按格式字符串的形式处理后存放到接收到的地址中。对于纯C来说,函数的参数是只能值参而不是变参,函数内部对参数的改变只影响参数本身而不影响调用函数时的实际参数(换句话说函数内部的只是副本)。所以这里不能向scanf传递x本身,需要用地址&x指明需要存放的位置,才能把值存到x中。
等系统地学完函数和指针传递函数参数以后,LZ应该会对这个有比较清楚的认识。
至于读键盘的活,是编译环境(包括操作系统底层)干的,和C语言本身无关

&只是一个地址,也就是那个X,Y(例子)存放的地址,存放是随机的

X 和Y 是个变量名吧

&X 就是 X这个东西再内存中的地址

是16进制表示的