//函数指针是指指向函数而非指向对象的指针。
//像其他指针一样,函数指针也指向某个特定的类型。
//函数类型由其返回类型以及形参表确定,而与函数名无关。
#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
转载于:https://blog.51cto.com/dreamylights/1251823