普通变量定义: int Var;
普通指针变量定义: int* pVar;
普通函数声明: void func1();
对应的函数指针定义: void (*func1)();
和普通指针定义类似,函数指针也是加一个*,只不过这里不能把括号去掉之后写成void *func1();因为这种写法其实就是 void* func1();可见,它也是一个普通函数的声明,只是返回值类型变了而已。
函数指针的调用: (*func1)();
调用的时候和定义的时候有点区别,可以去掉括号直接写成 func1(); 因为没有返回值类型,不会产生歧义了。
函数指针的类型: 普通函数的声明由 返回值类型 函数名称(参数类型列表) 组成,对应的函数指针类型就是 返回值类型 (*)(参数类型列表)
|