分步理解:
1、首先理解typedef
int i;
typedef myInt int;
myInt j;
//重新定义了一个叫myInt的整型变量类型,并定义了一个整型变量j
2、函数指针
原型:返回类型(*函数名)(参数表)
#include <iostream>
using namespace std;
//定义了一个返回类型为char,参数为int的函数
//提示:函数名实际上就是一个指针(指向的是内存种的首地址)
char (*pFun)(int);
//自定义了一个返回值为char参数为a的函数
char gFun(int a)
{
cout << a;
}
//主函数
int main()
{
//将函数gFun的地址赋值给变量pFun
pFun = gFun;
//*pFun是取pFun所指向地址的内容,即去取出了gFun的内容
(*pFun)();
return;
}
3、typedef定义新的类型
原型:typedef返回类型(*新类型)(参数表)
//定义一种新的ptrFun类型,并定义该类型指向一个函数(以int为参数返回类型为char类型)
typedef char(*ptrFun)(int);
//用新类型ptrFun定义了变量pFun
ptrFun pFun;
//此时可以像int一样使用pFun变量了
char gFun(int a)
{
return;
}
void main()
{
pFun = gFun;
(*pFun)();
}