指针的*和&有什么区别?

 我来答
jiji1008135456
2023-06-25 · TA获得超过5167个赞
知道答主
回答量:19
采纳率:0%
帮助的人:2995
展开全部

表达式的意思:

1、*p=a的意思:将a的值赋给p指针指向的地址的值;

2、p=&a的意思是:将a的地址赋给指针p;

3、*p=&a的用法错误。

区别在于:

p=&a就是用a的地址对p赋值,a是一个变量,&a就是存储这个变量的内存地址,指针存储的就是一个地址,*p就是这一地址中的内容。

扩展资料

另类*和&

两个地方要注意: 在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;

在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。

这点不要和(*)声明符,(&)操作符混淆。

参考资料来源:百度百科:指针

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式