指针的*和&有什么区别?
展开全部
表达式的意思:
1、*p=a的意思:将a的值赋给p指针指向的地址的值;
2、p=&a的意思是:将a的地址赋给指针p;
3、*p=&a的用法错误。
区别在于:
p=&a就是用a的地址对p赋值,a是一个变量,&a就是存储这个变量的内存地址,指针存储的就是一个地址,*p就是这一地址中的内容。
扩展资料
另类*和&
两个地方要注意: 在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
这点不要和(*)声明符,(&)操作符混淆。
参考资料来源:百度百科:指针
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询