15.1 为什么调用printf()前,必须#include <stdio.h>

为了把printf() 的正确原型说明引入作用域。

对于用可变参数的函数, 编译器可能用不同的调用次序。

例如, 如果可变参数的调用比固定参数的调用效率低。

所以在调用可变参数的函数前, 它的原型说明必须在作用域内, 编译器由此知道要用不定长调用机制。

在原型说明中用省略号“. . . ” 来表示可变参数。

参考资料:

[ISO, Sec. 6.3.2.2, Sec. 7.1.7];

[Rationale, Sec. 3.3.2.2, Sec. 4.1.6];

[H&S, Sec. 9.2.4 pp. 268-9, Sec. 9.6 pp. 275-6]。

永不止步步 发表于01-18 09:45 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:308117个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号