首先要先弄清.c和.h代表什么,.c是源文件,.h是头文件,在我看来源文件就是写的整个代码,而头文件是我们在有很多源文件时会有很多相同定义和很多重复使用的函数,这时候用一个头文件来放在一起。简而言之,我想之所以要分这两种文件的意思就在好管理和使用定义和函数。
我也没使用过,没办法亲自体会它有什么好处,查阅资料得知,这样的好处是“解决文件编译时重复声明即声明变更繁杂的问题。”
我设想了一下整个编译过程,首先就是写好几个源文件,这时如果每个文件都有相同的定义或者函数,就要每个文件一次写上去,这就很麻烦了,之后如果出现定义乱了,还要一次改来改去,实在是太麻烦,这还不是最恐怖的,如果在所有写好编译后,还发现有定义不合适还要依次每个源文件去找去改,这太麻烦了。
根据我打代码的经历来说,最开始都要声明函数和变量,从来没有过.h文件,所以我觉得是可以的。
在最开始问题里,就知道头文件是用来声明好多个源文件相同的函数和变量的声明,而不是定义,定义应该是在源文件中单独定义的,就像是定义函数一样,单独定义,然后在最开头来声明一下,就可以用了。所以,答案是不能。
有点不懂,想了一下,如果要声明这个函数或者变量,那要在哪里定义它们,才能在编译的时候找到它的源代码?所以,应该不可以吧。
第一个大问题的第四个小问题:能不能在两个源文件里都定义同一个函数或者变量?
首先我觉得函数可以的。其次关于变量我觉得定义全局变量就好了吧。
看到这个问题我就想到以前老师讲C语言会碰触到计算机本身系统内存的什么地方,但是现在计算机系统也很高级就组织它碰,不知道这是不是它不安全的一个地方。(查阅资料知道了,这是因为指针乱指(??)会碰触到硬件啊,操作系统带来不安全。)
第二点,就是C语言不是面向对象的语言,数据封装性差,数据安全性低。
第三点,就是它的语法灵活,所以缺少严谨性。
原文:https://www.cnblogs.com/zouzou-1/p/12229523.html