C语言指针*p与p有什么区别?printf输出表列要哪个?为什么?

如题所述

声明为指针以后,“语句”里,出现 *p, 表示 是 数值,出现 p, 表示 是 地址。
int a=5;int *p=&a; printf("%d", *p); // 打印 数值 5
如果 写 printf("%d", p); 不带星号的,则是 a的地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-19
p代表指针 32位的数,用来记录地址的。*p代表取出指针指向地址中的内存。
第2个回答  2013-02-25
看来你还没理解什么是指针 所以先找个简单点的书看吧,最好写点小程序
慢慢就理解了,指针其实就是一个变量 (int *)p;p是指针变量
如果*p则表示的是p地址里面存的内容
第3个回答  2013-02-19
我是这样理解的,指针*P显示的是内存地址,而没加"*"则表示地址的值
第4个回答  2013-02-20
p标识的一段内存的地址,*p标识的是这块内存上存储的值。你要输出内存的地址,就用p,要输出这块内存保存的数值,就用*p