思考题的回答

源文件:即后缀为.c的文件
头文件:即后缀为.h的文件
问题一:能不能把函数及变量的声明放在源文件里?
我认为可以把函数及变量声明放在源文件里面,就相当于把平常放在头文件里面不可见的代码打出来了,比如函数声明放在源文件就相当于这个函数打出来了而已。而且我们平时自己也有定义函数完再在顶上声明。
问题二:能不能把函数和变量的定义放在头文件里?
我认为可以把函数和变量定义放在头文件里面,我感觉头文件跟源文件没有本质上面的上面区别吧,所以头文件里面也可以进行函数和变量的定义的。
问题三:能不能在两个头文件里都声明同一个函数或者变量?
我认为如果这两个头文件没有引用在同一个源文件里面那应该是可以声明同一个函数或者变量的吧,但是如果同时引用在同一个源文件里面,是会出现重复定义的现象的,所以这时候应该是不可以的。
有查到说采用不同的作用域包含可以解决在两个头文件定义了同名类并且在一个源文件里面都要用到时的重复定义问题,但是我看的还不明不白o(╥﹏╥)o。这里是那个网址https://blog.csdn.net/u012411498/article/details/80831444
问题四:能不能在两个源文件里都定义同一个函数或者变量?
我认为如果这两个源文件没有连接在一起那是可以定义同一个函数或者变量的,但是要是他们是分别的模块后来链接在一起的话,那样应该是会有重复定义的现象出现的,系统不知道该听谁的,这时候应该是不可以的。
查了一下,据说使用static定义变量的话,这样其他文件就不会使用到这个文件的static变量,不会出现重复定义的错误提示。

猜你喜欢

转载自www.cnblogs.com/2002ljy/p/12227361.html