1.21 思考题

Posted airbirddd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.21 思考题相关的知识,希望对你有一定的参考价值。

(1.21)为什么C语言要分. h和. c文件,这样有什么好处?
首先要清楚的是.c是源文件,而.h是头文件。
考古到以前的材料,原因之一是因为省钱叭(= =,也可以说是可重用性。因为编译出来的二进制码不可直接被重用,要重复用这种可执行码的话得另外的文件。而C被发明的时候内存还是很贵的,据有关数据说是64K内存有四百多美元,给机器添加16或32KB内存扩展槽要三百美元,一个程序经常几十个模块,运行的时候为每个模块花几十K内存还是不太现实。若区分开源文件头文件,头文件可以在多个文件中引用,而只在一个源文件中实现其具体功能。

①能不能把函数及变量的声明放在源文件里?
我认为是可以把函数及变量的声明放在源文件里。
源文件是一个文件,是源代码的集合。源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码) ,是未编译的代码。所以函数及变量的声明是可以作为源代码包含进去的。

②能不能把函数和变量的定义放在头文件里?
我认为不可以把函数和变量的定义放在头文件里。
头文件中一般存放声明等,不会占用空间。如果把变量的定义放在里面,工程量很大的话,追踪起来比较麻烦,而且出了错也不好下手。放头文件里还意味着它不能初始化,多个编译单元都能将他修好,不好维护程序。

③能不能在两个头文件里都声明同一个函数或者变量?
应该不可以吧0.0
会出现重复定义的报错现象。
④能不能在两个源文件里都定义同一个函数或变量?
我认为是变量可以的。
比如说全局变量定义在一个源文件中,它是被储存在静态储存区,其作用范围是整个程序,它可以在被使用过的地方改变数值。如果其他源文件要使用这个变量的时候,只需加上extern前缀以声明是来自外部的外部变量就可以使用了。
我认为函数不可行。
把一个函数放到不同的源文件中一起编译链接的话,还是会出现重复定义的报错。

以上是关于1.21 思考题的主要内容,如果未能解决你的问题,请参考以下文章

思考题回答

我要翻译《Think Python》 - 001 序言部分

[思维模式-8]:《如何系统思考》-4- 认识篇 - 什么是系统思考?系统思考的特征?系统思考的思维转变。

思考思维:思考和深度思考总结

思考思维:思考和深度思考总结

思考思维:思考和深度思考总结