*p=&a, * p=a和p=&a意思和区别
1.一般来说 * p=&a的表示方法是错的, * p=a和p=&a是正确的。
2. * p=a的意思:将a的值赋给p指针指向的地址内的值;
3.p=&a的意思是容:将a的地址赋给指针p;
区别:*p是一个值;p是一个地址;两者完全不相同。
*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是指针,可以理解为所指向的值的地址,*p就是取p指针指向的地址的值,&a就是取a的地址。
(p=&a就是用a的地址对p赋值,a是一个变量,&a就是存储这个变量的内存地址,指针存储的就是一个地址,*p就是这一地址中的内容。)
扩展资料:(百度百科)
指针的两种含义:一是作为数据类型,二是作为实体
1.指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。指针一般出现在比较底层的程序设计语言中,如C语言。
2.指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出。从中导出的数据类型称之为被引用类型。指针类型描述了一种对象,其值为对被引用类型的实体的引用。
另类 *和&
两个地方要注意: 在程序声明变量的时候的 * ,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和( * )操作符混淆;
在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
这点不要和( *)声明符,(&)操作符混淆。