Oo缘来是你oO


人本是人,不必刻意去做人;世本是世,无须精心去处世;自然的才是快乐的。

posts - 11,comments - 8,trackbacks - 0

用指针调用函数的不同形式
 
Ma Jia nan
2006-1-16
 
    最初一个函数指针必须用*操作符(和一对括号)“转换为”一个“真正的”函数才能调用,如下所示:
 
    int r, func(), (*pf)() = func; //函数指针的初始化
    r = (*pf)();  //函数的指针调用形式1,等价于 r = func();
 
    函数总是通过指针进行调用的,所有“真正的”函数名总是隐式的退化为指向该函数的指针, 正如在对函数指针pf初始化做的那样:
 
    int func();
    int (*pf)() = func;
 
    这有点类似数组名的行为(不带下标操作符的数组名会被解释成指向数组首元素的指针)。

    以上结论表明,下面的语句也是正确的。
 
    r = pf();     //函数的指针调用形式2
 
    ANSI C 标准实际上接受形式2,这意味着不再需要*操作符,但形式1依然允许。两种形式产生相同的结果,但是形式1让读者更清楚该调用是通过函数指针执行的。
 
 
posted on 2006-09-14 10:08 马嘉楠 阅读(345) 评论(0)  编辑 收藏 引用 所属分类: 【01】C++

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