我刚刚在互联网上查看了一些代码,发现了这个:
float * (*(*foo())[SIZE][SIZE])()
Run Code Online (Sandbox Code Playgroud)
我如何阅读此声明?是否有一套特定的规则来阅读这些复杂的声明?
我如何理解以下复杂的声明?
char (*(*f())[])();
char (*(*X[3])())[5];
void (*f)(int,void (*)());
char far *far *ptr;
typedef void (*pfun)(int,float);
int **(*f)(int**,int**(*)(int **,int **));
Run Code Online (Sandbox Code Playgroud) 我如何解释复杂的声明,如:
int * (* (*fp1) (int) ) [10]; ---> declaration 1
int *( *( *[5])())(); --------> declaration 2
Run Code Online (Sandbox Code Playgroud)
是否有任何规则应该遵循以理解上述声明?