*p 和 *(*p) 的区别

在 C 语言中 *p*(*p) 的区别是什么?

阅读 5k
2 个回答

如果p是个一级指针 *p 则可以取出
如果p是个二级指针则 **p //此时括号非必须

还有需要看上下文 如果是函数指针的话,此时括号是需要的比如
 

int (*p) (int x); /* 声明一个函数指针 */
p=function; /* 将function函数的首地址赋给指针p */

*p 说明p是一个指针变量。(单级地址)

例如:
指针变量p 变量a
(地址) ---> (值)


(p) 说明p是一个指向指针的指针变量。(二级地址)

例如:
指针变量p 指针变量q 变量a
(地址1) ---> (地址2) ----> (值)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进