//函数指针是指指向函数而非指向对象的指针。
//像其他指针一样,函数指针也指向某个特定的类型。
//函数类型由其返回类型以及形参表确定,而与函数名无关。
#include 
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