c语言中*p,&p,p到底有何关系? 如f(int *p),f(&p),printf("%d\n"

c语言中*p,&p,p到底有何关系? 如f(int *p),f(&p),printf("%d\n",p)

可以这样理解。
int *p; p就是一个变量,存放一个值。这个值有点特殊,它是个存储空间的地址。这是,p成为指针变量。*p如果出现在表达式中,表示一个值,这个值为p中存放的地址处的内容。
int p;的情况下,p也是一个变量,存放一个整型值。&p也是一个特殊值,这个值为p这个变量在存储空间中的地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-05
p代表自身值.
*p是用来操作指针的, 取指针指向的值.
&p 操作任何变量, 用来取变量地址.
如果p是int*型,
那么*p是int型.
&p是int**型.本回答被网友采纳
第2个回答  2014-08-07
f(int *p) //声明了一个整形指针p f(int* p)表示在f函数的参数
f(&p) 这是个函数调用 传递的参数为变量p的地址 &取地址符
printf("%d\n",p) 输出变量p的值

eg.
int a;
int* p=&a本回答被提问者采纳
第3个回答  2014-08-07
通俗点儿可以这么说,p是一个指针,*p是p所指的内容;&p是指针p在内存中的地址
第4个回答  2014-08-07
int *p; // 这里是定义int类型的指针

&p; // 取变量p的地址

("%d\n",p) // 打印输出p的值

不知道你具体想了解什么
相似回答