c语言的指针部分 *p与p区别如下:
1、作用不同
p是一个指针变量的名字,表示此指针变量指向的内存地址。
2、输出内容的格式不同
*p常用在一个和指针类型一致的变量或者常量。
p输出一个指针的地址,通常是输出一个16进制的数。
3、效果不同
*p是让编译器从指定的地址中读取出数据。
p是用来存放要读取数据的地址。
扩展资料
C语言中使用指针的作用:
1、指针使程序的不同部分能够共享数据
类似于共享内存,如果将某一个数据值的地址从一个函数传递到另外一个函数,这两个函数就能使用同一数据。
2、利用指针,能在程序执行过程中预留新的内存空间
大多数情况下,可以看到程序使用的内存是通过显式声明分配给变量的内存。但是在很多应用场合中,可能程序运行时不清楚到底需要多少内存,使用指针可以让程序在运行时获得新的内存空间,并让指针指向这一内存更为方便。
3、指针可以用来记录数据项之间的关系
在高级程序设计应用中,指针被广泛应用于构造单个数据值之间的联系。比如,程序员通常在第一个数据的内部表示中包含指向下一个数据项的指针(实际上就是链表了),来说明这两个数据项之间有概念上的顺序关系。
参考资料来源:百度百科——指针
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、这点不要和(*)声明符,(&)操作符混淆。
参考资料:
百度百科-指针