指针的高级声明

int f;/*声明一个整数*/
int *f;/*声明一个指向整型的指针*/
int *f,g;/*这个并不是两个整形指针,而是一个指针,一个整型*/
int f();/*一个返回值为整型的函数*/
int *f();/*本质是一个函数,函数的返回值为指向整型的指针*/
int (*f) ();/*本质是一个指针,指针指向一个返回值为整型的函数*/
int  *(*f) ();/*本质是一个指针,指针指向返回值为指向整型的指针的函数*/
int f[];/*数组,数组元素为整型*/
int  *f[];/*数组,数组元素为指向整型号的指针*/
int  f()[];/*其实是非法的,看着像是一个函数,函数的返回值是整型号数组,因为函数只能返回标量,不能返回数组*/
int  f[]();/*其实是非法的,看着像是一个数组,数组元素类型是返回值为整型的函数,因为数组元素具有相同的长度,但不同的函数显然可能具有不同的长度*/
int  (*f[]) ();/*本质是数组,数组的元素是指针,指针指向具有整型返回值的函数*/
int  *(*f[]) ();/*本质是数组,数组的元素是指针,指针指向具有返回值为整型指针的函数*/
int  (*f)(int,float);/*是一个函数指针,指向具有返回值为整型的函数*/
int  *(*g[])(int,float);/*是一个数组,数组的元素是函数指针,指针指向的函数具有的返回值类型是指向整型的指针*/

 

posted @ 2018-04-05 12:02  刘-皇叔  阅读(208)  评论(0编辑  收藏  举报