#include <stdio.h>
int swap(int *a, int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
int main(void)
{
    int a = 10;
    int b = 20;
    void (*p)(int, int); //定义函数指针
    p = swap;
    p(&a, &b); // 通过函数指针调用函数,等价于swap();
    printf("%d %d", a, b);
}

#include <stdio.h>
int swap(int *a, int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
typedef int (*func)(int ,int );//声明一个新的类型func,func表示函数的指针类型

int main(void)
{
    int a = 10;
    int b = 20;
    func p; //定义函数指针
    //上面这个代码等同于 int (*p)(int ,int )
    p = swap;
    p(&a, &b); // 通过函数指针调用函数,等价于swap();
    printf("%d %d", a, b);
}