读书人

为啥Kamp;R会把函数声明写到其他的函数里

发布时间: 2013-08-04 18:26:16 作者: rapoo

为什么K&R会把函数声明写到其他的函数里,而不是全局作用于?
我们写程序时,一般不都是把函数声明放到.h文件夹里么,对于简单的只有一两个函数的情况,也都是放在main函数的上面,而K&R放在main函数里面是什么用意呢?精确控制函数的作用域么?


[解决办法]
声明与定义的区别!只是告诉编译器这个函数已经存在的方式而已,已经淘汰这中做法了!
[解决办法]
引用:
Quote: 引用:

偷懒吧, 这个库函数是有头文件的.
当然, 包含头文件会浪费一点点编译时间.
这样写作用域确实只在函数内, 但是这么小的程序根本没有限制作用域的必要, 何况还是库函数.

这里的atof是作者编写的一个函数,并不是标准库中的那个函数

我的猜想是为了防止和标准库中的 atof() 冲突,C语言可没有重载(至少K&R时代没有)。
把 atof() 声明放在 main()中,就自动屏蔽了 main() 外的 atof() 。

读书人网 >C语言

热点推荐