typedef void (* PrVoid)(void); typedef PrVoid (*PrPrVoid)(void);
现在的PrVoid 和 PrPrVoid 怎么理解啊?拜托各位了!
PrVoid和PrPrVoid是函数指针类型,利用它们可是声明函数指针,跟(char *)等的道理是一样的。下面是一个简单的演示:
typedef void (* PrVoid)(void); typedef PrVoid (*PrPrVoid)(void);
PrVoid pt1; PrPrVoid pt2;
void func1(void); PrVoid func2(void);
void func1(void) { printf("func1\n"); } PrVoid func2(void) { printf("func2\n"); return func1; }
int main(int argc, char* argv[]) { pt2=func2; pt1=pt2(); pt1();
return 0; }