打印
[C语言]

函数指针的赋值与调用

[复制链接]
892|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanghelovehuang|  楼主 | 2018-7-25 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大佬,小弟是新手,最近在看函数指针,在论坛得到不少大佬的帮助真的谢谢,但是我再写程序测试的时候发现:
int mub(int a, int b)
{
        int sub;

        return a>b?a:b;
}
int main(int argc, const char *argv[])
{
        int c;

        int (*p)(int, int);

        p = &mub;
        p = mub;

        c = (*p)(5, 7);
        c = p(5, 7);

        printf("%d\n", c);
}

红色的两个赋值方式,和蓝色的两个调用方式都能够顺利运行程序,而且调用的结果都是正确的。我是想问下这四种方式有区别吗?是不是在写程序的时候可以随便用其中一种?

相关帖子

沙发
ayb_ice| | 2018-7-25 16:11 | 只看该作者
有些编译器这两种方法不一定都能通过,

建议使用第一种,正规些

使用特权

评论回复
板凳
yanghelovehuang|  楼主 | 2018-7-26 10:45 | 只看该作者
ayb_ice 发表于 2018-7-25 16:11
有些编译器这两种方法不一定都能通过,

建议使用第一种,正规些

嗯嗯 谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝