Aaron学习笔记

少壮不努力,长大没饭吃!
posts - 4, comments - 13, trackbacks - 0, articles - 37

函数指针变量及赋值说明

Posted on 2009-07-24 22:03 赞劲小子 阅读(2089) 评论(0)  编辑 收藏 引用
//函数指针的各种形式
/*
   (1)其实,MyFun的函数名与FunP函数指针都是一样的,即都是函数指针。
    MyFun函数名是一个函数指针常量,而FunP是一个函数指针变量,这是
    它们的关系。
   (2)赋值时,即可FunP = &MyFun形式,也可FunP = MyFun。
   (3)说明,在函数的申明处:
        void MtFun(int); //不能写成void (*Myfun)(int);
        void (*FunP)(int); //不能写成void FunP(int):
 
*/

#include 
"stdio.h"
void MyFun(int x);
void (*FunP)(int x);

int main(int argc, char *argv[]){
    MyFun(
10);
    
/*
     * 第一种函数指针的赋值形式
     FunP = &MyFun;
     (*FunP)(20);
    
*/


    
/*
     * 第二种函数指针的赋值形式
     FunP = MyFun;
     FunP(20);
    
*/

     
    
/*
     * 第三种函数指针赋值形式
     FunP = &MyFun;
     FunP(20);
    
*/

    
    
/*
     * 第四种函数指针赋值形式
    
*/

     FunP 
= MyFun;
     (
*FunP)(20);

     
/*
      * 这是第五种形式
     
*/

     (
*MyFun)(10); //不可思议,还可以这样
    return 0;
}


void MyFun(int x){
    printf(
"这个函数的值是%d\n",x);
}



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理