C++ 中的 typedef 可以为某种类型定义一个别名。其基本语法为:
typedef type alias;
type 就是原类型,alias 就是类型别名。
例如:
typedef int myInt;
这意味着 myInt 与 int 具有相同的意义,它们可以互相替换。
typedef 不仅可以使用简单类型作为原类型,还可以使用数组、指针、函数等作为原类型。
例如:
typedef int (*pFunc)(int);
这个语句定义了一个指向函数的指针类型,它指向一个输入为 int ,返回值为 int 的函数。 等价的类型定义如下所示:
int (*pFunc)(int)
但使用 pFunc 会更加方便
这个代码估计不能运行吧
p是函数指针类型别名,(p)变量 是将整型变量“变量”值作为函数地址,然后执行函数,参数为s
这要求“变量”赋值的整数必须指向一个有效的函数地址才行,否则程序应该会崩溃吧
=====
函数指针主要规定了一种函数原型,包括返回值和参数个数、类型。满足这三方面一致性的函数,都可以用这个函数指针来指向函数地址,从而抽象函数具体的实现