数组和指针(2)----指针调用函数

#include <stdio.h>
#include<stdlib.h>
int add(int a, int b){

return a + b;
}
int Max(int a, int b){
int i;
i=a > b ? a : b;
return i;
}
int main(){
//指针指向函数

//普通写法
int i = add(5,6);
printf("%d ",i);

//指针写法
int i1;
int(*p)(int, int);//定义指向函数的指针
p = add;//直接写函数的名字,代表函数的地址;将函数add的地址复制给p;
i1 = p(5, 6);//将p进行计算;(代表add)赋值给i1;

int(*p1)(int, int);
p1 = Max;//编译器不知道调用哪一个,而是在执行中动态的去调用

int i2 = Max(14, 5);
printf("%d ", i1);
printf("%d ", i2);
system("pause");
}

原文地址:https://www.cnblogs.com/liaoxianfu/p/6079286.html