房天下 > 房天下问答 > 业主生活 > 其他
  • 指向函数的指针变量,调用时不加*也行?

    我发现实际操作和书上讲的不一样,加不加*运行结果全部正确,报错、警告全部没有。那么改错或选择题无所适从有点,举了例子(请注意带注意的那行):fan(int x){return 2*x;}main(){int a,(*p)(int),m; p=fan; a=5; m=p(a); /*书上正确写法是m=(*p)(a)*/ printf("%d\n", m);}我用的书是二级考试指定教材08年版,上面第159页。请问这是怎么回事呢?谢谢!

    提问者:emailsj

    发布于2011-01-18

共1个回答
  • tommypeng 丨Lv 3
    int fun(int x);int x;通常的函数名字fun就是代表一个指针,函数调用时严格的完整格式是(*fun)(x);但是C语言支持函数调用时的缩写,即省去指着标示,可写为:fun(x);同样,一个指向函数的指针p,也可以按照省略形式书写。你要想追求代码清晰可以采用完全书写。
    +1 2011-01-18 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。