1、指针函数的使用;
2、通过把函数名字赋值给指针.int (*p)( ); p=main;
3、通过指针调用函数 (*p)(format)。
4、指针的值是地址,多用十六进制数表示 "%x"。
5、函数执行后,函数名字的值是函数返回值。
#include
<
stdio.h
>
int max( int a, int b) ... {
if(a>b)
return a;
else return b;
}
int main() ... {
int *fp;
int (*p)();
int a=5;
int b=6;
p=max;
printf("max()=%x ",max);
int max=(*p)(a,b);
printf("max=%d ",max);
fp=main;
printf("main=%x ",fp);
fp=max;
printf("max()=%x ",fp);
printf("max()=%x ",max);
printf("max=%x ",p);
return 4;
}
int max( int a, int b) ... {
if(a>b)
return a;
else return b;
}
int main() ... {
int *fp;
int (*p)();
int a=5;
int b=6;
p=max;
printf("max()=%x ",max);
int max=(*p)(a,b);
printf("max=%d ",max);
fp=main;
printf("main=%x ",fp);
fp=max;
printf("max()=%x ",fp);
printf("max()=%x ",max);
printf("max=%x ",p);
return 4;
}
执行结果:
[ test]$ ./a.out
max()=8048328
max=6
main=8048349
max()=6
max()=6
max=8048328