发布网友 发布时间:16小时前
共1个回答
热心网友 时间:15小时前
1、内容不同
星号是用来指定变量p是指针,p是一个变量,其值为另一个变量的地址,它表示了在内存中的一个地址,即,内存位置的直接地址。而*p是所指向地址的值。
2、数据类型不同
在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”,所有指针的值的实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数。
而*p可以是整型、浮点型或者字符型。
3、使用方法不同
在编程时,*p可以直接使用,因为p声明为一个指针,使用它的时候需要带上*表示该位置的值,比如int a,*p;*p=a。
直接使用p的时候,p=&a。
扩展资料:
另类*和&
1、两个地方要注意: 在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
2、在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
3、这点不要和(*)声明符,(&)操作符混淆。
参考资料:
百度百科-指针