A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1213842165 中级黑马   /  2015-11-10 22:06  /  685 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义:函数返回值类型 (*指针名)(参数类型);赋值:指针名=函数名;
     如:先定义函数int add(int a){ //...}. int (*p)(int)=add;
     使用:指针名(实参); 如:p(3);等效于add(3);
     */
   
    //定义:函数返回值类型 (*指针名)(参数类型);
    int (*p3)(int);
   
    //赋值:指针名=函数名;
    p3=add1;
   
    //使用:指针名(实参); 如:p(3);等效于add(3);
    int b=p3(3);
    printf("%d\n",b);
   
    //1.函数指针做加减运算可以,但没有意义.不建议.
    add2(p3);
    return 0;
   
}

//2.函数指针可以当作参数传递.因为其是一个指针类型.
int add2(int (*p3)(int)){
   
    p3(5);//等效于:add1(5);
    return 0;
   
}

int add1(int a){
   
    printf("hello\n");
    return 0;
   
}

/*
一,什么是指针型函数?
是函数. 这个函数的返回值类型是指针;
定义:类型 * 函数名(参数){return 指针类型;}
如:int  *add(int *a){return &a;}.
表示定义一个返回值是int指针类型的add函数.

*/

int *add(int *p){
   
    return p;
}

2 个回复

倒序浏览
今天刚学了,顶一下吧!
回复 使用道具 举报
xiaolang110 发表于 2015-11-10 22:25
今天刚学了,顶一下吧!

都是今天刚学的{:2_32:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马