//函数指针是指指向函数而非指向对象的指针。 //像其他指针一样,函数指针也指向某个特定的类型。 //函数类型由其返回类型以及形参表确定,而与函数名无关。 #include <iostream.h> void Swap(int* px, int* py); void main() { int a = 5, b = 6; int *pa = &a; int *pb = &b; void (*pfn)(int*, int*); //*pfn两侧的括号是必须的 cout << "a = " << a << ", "<< "b = " << b << endl; //只有当指针已经被初始化,或被赋值为指向某个函数,方能安全地用来调用函数。 pfn = Swap; //指针被赋值为指向Swap函数 (*pfn)(pa, pb); //可直接通过指针调用函数 cout << "a = " << a << ", "<< "b = " << b << endl; } void Swap(int* px, int* py) { int temp = 0; temp = *px; *px = *py; *py = temp; }
程序输出结果为:
a=5,b=6
a=6,b=5