指针混淆点!!!

Posted _BitterSweet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针混淆点!!!相关的知识,希望对你有一定的参考价值。

int *p[10]
int (*p)[10]
int *p(int)
int (*p)(int)

  • int *p[10]表示指针数组,强调数组概念,是一个数组变量,数组大小为10,数组内每个元素都是指向int类型的指针变量
  • int (*p)[10]表示数组指针,强调是指针,只有一个变量,是指针类型,不过指向的是一个int类型的数组,这个数组大小是10
  • int *p(int)是函数声明,函数名是p,参数是int类型的,返回值是int *类型的
  • int (*p)(int)是函数指针,强调是指针,该指针指向的函数具有int类型参数,并且返回值是int类型的

以上是关于指针混淆点!!!的主要内容,如果未能解决你的问题,请参考以下文章

结构中指针表示法和点表示法之间的混淆[重复]

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

指针中容易混淆的概念以及常见笔试题

将指针分配给指针(并将指针传递给类)时使用删除的 C++ 混淆

golang中,slice的几个易混淆点

“<type> 是指向接口的指针,而不是接口”的混淆