数组和指针(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\n",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\n", i1);
printf("%d\n", i2);
system("pause");
}

posted @ 2016-11-18 22:00  过不去的过去  阅读(130)  评论(0编辑  收藏  举报