《C和指针》_7.函数

问题

1.空函数的函数体可以作为存根(stub)使用。为尚未实现的代码保留一个位置。我们可以将空函数在头文件中声明,使这类存根也可以参与编译,为后续添加需求做准备。

2。在ANSI C 中,函数的原型并非必须,这当然是缺点。先编译器预先提供一些函数的特定信息显然更为安全。

3.通常,表达式的类型就是函数声明的类型。只有当编译器可以通过寻常算数转换为正确类型时,才允许返回类型与函数声明的返回类型不同的表达式。

4.从表达式内部调用一个过程类型的函数时一个严重的错误,在表达式的求值过程中会使用一个不可预测的值。

5.将可能发生错误。应为值得类型并不是值得内在本质,而是取决于它被使用的方式。这样的情况可能有数据的截断。

6.可能出错,将发生类型转换。

7.亲证无错,

8.如果一个递归函数内部所执行的最后一条语句就是调用自身时,例如

fuc()
{
    ...
    return (fuc());
}

那么它就称之为尾部递归。尾部递归通常很容易的改写为循环的形式,效率会高。

 

9.如果函数的原型同时也被#include指令包含到定义函数的文件中,编译器就可以确认函数原型与定义的匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值