《c专家编程》笔记--解释复杂的声明

右如下声明:

int(*func())();

int(*func())[];

int(*foo[])();


解释如下:

1,func函数返回一个指向int返回类型,无参数函数的指针
2,func函数返回一个int数组指针

3,定义了一个函数指针类型的数组,函数没有参数,返回值为int


诀窍就是先看声明符func,再看func右边的符号,最后看func左边的符号。


最后再来一个复杂的:

int (*(*func)[5][6])[7][8];

func是一个指针,指向的是一个5*6的数组,里面是一个指向int[7][8]的指针。


你可能感兴趣的:(《c专家编程》笔记--解释复杂的声明)