int (*p)(int x)是函数指针
可以直接使用,它的返回值是int型
不能直接用,必须先定义才能使用,它的返回值是int *型
int * fun() { int b = 90; int *a = &b; return a; } void main(){ cout << "b地址:"<<fun() << endl; cout << "b的值:"<<*fun() << endl; }
结果:
b地址:0136FE38
b的值:90
-------------------------------------------------------------------------------------
int f(int a, int b) { return a + b; } int g(int a, int b) { return a - b; } void main() { int(*p)(int a, int b);//定义指向函数的指针,参数表必须和要指向的函数一致 p = f; cout << (*p)(200, 100) << endl; p = g; cout << (*p)(200, 100) << endl; }
结果:
300
100