C语言中的函数指针

 

  函数指针是一种指针,能够指向某个函数。

  数组名其实是数组首地址的指针,函数名其实也是这个函数地址的指针。系统要调用该函数也是通过这个指针入口进入。(学过汇编后更能理解。)

 

  看例子:

 1 void fuc(int a,int b)   //一个函数 
 2 {
 3     if(a>b)
 4     printf("%d",a);
 5     else
 6     printf("%d",b);
 7 }
 8 
 9 
10 int main()
11 {
12     void (*Kernel)(int ,int ); //定义函数指针Kernel 
13     Kernel=fuc;                  //使指针指向该函数 
14     Kernel(1,2);              //调用该函数 
15     return 0;
16 }

 

   当然,还可以进行一些强制转换:

 1 void fuc(int a,int b,int c)  
 2 {
 3     if(a>b)
 4     printf("%d",a);
 5     else
 6     printf("%d",b);
 7 }
 8 
 9 
10 int main()
11 {
12     void (*Kernel)(int ,int );
13     Kernel=(void(*)(int,int))fuc;//强制转换为两个参数的函数
14     Kernel(1,2);
15     return 0;
16 }

 

posted @ 2017-02-14 16:33  Asam  阅读(329)  评论(0编辑  收藏  举报