Don't afraid point

时间:2023-03-09 13:28:27
Don't afraid point

int p;

int *p;

int p[3];

int *p[3];分析方式:首先从P开始分析,先与[]结合因为其优先级比*高,所以p是一个数组,然后再与*结合,说明数组里的元素是指针类型,然后再与int结合,说明指针所指向的内容的类型是整形的,所以P是一个由返回整形数据的指针所组成的数组。

int (*p)[3];分析:1:p是一个指针,指针所指向的内容是一个数组,数组里的元素是整形,P是一个指向由整形数据组成的数组的指针。

int **p;P是一个指针,然后指针所指向的元素是一个指针,说明该指针所指向的元素是一个整形

int p(int) P是一个函数,该函数的参数是一个整形,并且函数的返回值是一个整形数据

int (*p)(int) //p是一个指针,指向一个函数,函数的参数是一个int类型,并且返回int

int *(*p(int))[3]

  //可以先跳过,不看这个类型,过于复杂

  /从 P 开始,先与()结合,说明 P 是一个函数,然后进

  //入()里面,与 int 结合,说明函数有一个整型变量

  //参数,然后再与外面的*结合,说明函数返回的是

  //一个指针,,然后到最外面一层,先与[]结合,说明

  //返回的指针指向的是一个数组,然后再与*结合,说

  //明数组里的元素是指针,然后再与 int 结合,说明指

  //针指向的内容是整型数据.所以 P 是一个参数为一个

  //整数据且返回一个指向由整型指针变量组成的数组

  //的指针变量的函数