int *gun() ====>gun() 返回的是Int指针
int (*gun) () ===> gun表示执行(*gun)()的函数指针
那么 int (*)() 就是类型gun的类型符号
比如 我们可以这样
typedef int (*funPtr)() ===>说明funPtr就是int型的函数指针
我们可以将0强制转换成一个Int类型的函数指针
(int(*)()) 0;
0代表的指针要注意2点:
1:它指向的内容不可访问
2:它不代表任何实际意义 比如 #define NULL 0;
(*(void (*)())0)() ===>
typedef void (*funptr)();
* (funptr)0