||
C语言中,*p 和p都常用在指针当中表示一个指针变量,*p 和p的区别:
表示的含义不同
*p表示此指针指向的内存地址中存放的内容。
p表示一个指针变量的名字,指此指针变量所指向的内存地址。
输出的格式不同
*p一般是一个和指针类型一致的变量或者常量。
p输出的是一个16进制数, 输出一个指针的地址。
#include <stdio.h>
void main()
{
int x=3;
int *p, *q;
p=&x, q=&x;
printf("%d\n",*p++);
printf("%d\n",(*p)++);
printf("%d\n", x);
}
输出结果为:3,3,4;
解释:
*p++:是先取出*p的值,再使p加1;
//p是个指针,给p加1,相当于让p指向x所在地址下一个位置,而对于x没有任何影响;
(*q)++:是使*q的值加1;
//*q则是q指向的位置对应的值,此时*q=3,当输出*q后,再给*q即x自加1,x就会变成4。
————————————————
版权声明:本文为CSDN博主「Goodideaer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Goodideaer/article/details/114300935
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-4-20 04:44
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社