C语言中取地址运算符是什么?


本文摘自PHP中文网,作者烟雨青岚,侵删。

在C语言中取地址运算符是“&”。“&”作为一元运算符,结果是右操作对象的地址;地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置。

在C语言中取地址运算符是”&“

示例:

1

2

3

4

5

6

7

8

#include <stdio.h>

int main(void)

{

    int a = 0;

    int *p = &a;

    printf("The value is: %d/n", *p);

    return 0;

}

&作为一元运算符,结果是右操作对象的地址。

例如&x返回x的地址。

地址本身是一个抽象的概念,用于表示对象在存储器中的逻辑位置。至于对象,LZ现在只需知道包含常量、变量等数据就可以了。

1

scanf("%d,%d",&x,&y);

这里的&x表示x的地址,&y表示y的地址。scanf接收地址,然后把键盘(更确切地说是stdin输入流缓冲区)读入的信息按格式字符串的形式处理后存放到接收到的地址中。对于纯C来说,函数的参数是只能值参而不是变参,函数内部对参数的改变只影响参数本身而不影响调用函数时的实际参数(换句话说函数内部的只是副本)。所以这里不能向scanf传递x本身,需要用地址&x指明需要存放的位置,才能把值存到x中。

等系统地学完函数和指针传递函数参数以后,LZ应该会对这个有比较清楚的认识。

至于读键盘的活,是编译环境(包括操作系统底层)干的,和C语言本身无关

推荐教程:《C语言》

以上就是C语言中取地址运算符是什么?的详细内容!

相关阅读 >>

sqrt在C语言中怎么用

C语言规定在一个源程序中main函数的位置是哪里?

C语言中*是什么意思

C语言大于等于怎么打?

C语言绝对值怎么表示

学好C语言可以干什么?

C语言中二维数组怎么用?

C语言是高级语言吗?

C语言如何求最大公约数和最小公倍数?

C语言自学难度高么?

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...