typedef 类型重定义
一.
typedef a b;
将b转化为a类型
eg1.
typedef int b;
b a; //相当于int a;
二.
typedef a;
eg2.
typedef int array[10]; //这个不代表array[10]是int型,而是表示array 是一个含有10个int型元素的数组类型;
typedef array Array[5]; //表示Array是一个含有5个array型元素的数组类型;
Array arr[2]; //表示定义一个一维数组,其中含有2个Array型元素…等价于 int arr[2][5][10];
eg3.
typedef int (*p)(int); //这个表示p代表一个返回值int,参数值int 函数指针类型;
p test; //相当于int (*test)(int),(根据函数特性,test已经是一个地址了,函数就是地址的调用);
typedef int (*Fun)(int);
Fun FvTest[2] =
{
Test1,
Test2
};
for (auto& autox : FvTest)
{
autox(200);
}
int Test1(int nv)
{
cout << "test1" << " " << nv << endl;
return 0;
}
int Test2(int nv)
{
cout << "test2" << " " << nv << endl;
return 0;
}