复杂指针定义

来源:互联网 发布:linux 内存使用 编辑:程序博客网 时间:2024/06/16 20:40

int (*(*F(int,int)))(int)是什么类型?
首先,int(*M)(int),其中M为函数指针,则(*F)(int,int)=M,用N代替*F,F为指向N的指针,则N(int,int)=M,这表示N是一个函数,参数为2个int,其返回值为函数指针M。故F为函数指针,该函数指针所指向的函数的参数为2个int,返回值为函数指针。

另:
int a;
int F();
可以想象成F()=a,即表示F是个函数,其返回值为a的类型。上面的N(int,int)=M中,N(int,int)与M同类型,M类型为M_type,则相当于定义:M_type N(int,int) 这是一个函数,函数名为N,参数为2个int,返回值为M类型M_type。

 

原创粉丝点击