任何C程序最终都是要写在文件上面,通常分两种,源文件和头文件,不是每个程序都有头文件,比如一些简单小程序就没有。
源文件根据惯例,通常扩展名为.C,但是能否用其他扩展名吗?查了一些资料,得到的答案是:尽管标准并没有制定文件的取名规则,但大多数环境都存在你必须遵守的文件名命令约定。
头文件根据惯例,通常扩展名为.h。通常是一个源文件对应一个的头文件,并且两个文件名相同,只是扩展名不同。我一直有个疑惑,就是可以让源文件和头文件两个文件名不同吗?经过亲自折腾一下,确是可以的。经过细想,原因如下:头文件只是用于共享宏、变量、函数等的。而且#include的语义是把对应的文件包含进来,至于包含的文件是什么名字并不重要,要不要和源文件名相同也不重要,如果非要一样,反而限制了#include的能力。另外C99标准中有这样关#include有这样一句话:A #include directive shall identify a header or source file that can be processed by the implementation.也就是说指要编译器支持的文件,#include指令应该都可以包含。一般编译器的功能都挺强大,足够满足我们需求,至于遇到特殊情况的大佬,大佬也会自行解决。
聊到头文件 那就有必要对#include指令进行说明:
#include指令常用格式如下:
#include , #include "fileName" #include token(这里token一般指宏的名字)
如果在源文件#include包含有一个static变量或函数的定义的头文件,那么这个源文件也可以访问这个static变量或函数。原因就是这个源文件把对应的文件包含进来,那这些static变量或函数就相当于在这个源文件中定义,当然源文件就可以访问了。
我们写个作文,其实要加上#include<新华字典。h>用词语要《汉语词典。h》用到数字的加减法《数学。h》物理么《物理。h》
电脑比人傻,所以,人一看就知道中文还是英文了。
这里包含了函数,比如一些单词啊。词组啊。人也可以分辨。但是电脑不可以。
这些算头文件吧。。
所以,你要自己定义函数。这我感觉其实也算了。但是,它有自己独特的方式,不属于最基础的东西,所以,这些经常不被称作头文件。另一个原因是《stdio.h》里面会包含一些即便是你定义的函数,这个函数做出来的时候用了一些基本的东西,包含在stdio。h里面。所以。。。
、
源文件,我感觉就是一个函数程序吧。可以是里面的一个scanf()或者printf()这都属于,
如果你不include<stido.h>那么你自己需要定一个scanf函数,定义个源文件。这个源文件告诉计算机,怎么输入你的字符的。
而同样,你写出的一个程序,它就是一个源文件,广义狭义的范围吧。
资源文件我也会类似的分广义狭义的去理解。
比如你做个网页,分几个步骤,这种套路算一种资源文件。
比如#include《xxx》int main(){……return0;}
这是一种类似套路的资源文件。
另一种是,比如判断素数,简单的我们先做一个判断素数的函数,当我们后面直接用它去判断就算一种资源文件了。比如上面的scanf() printf(),这都属于资源之类的,但我们直接调用了。。
刚自习一周多。不知道对错。有问题帮忙指出,谢谢!
分类: 电脑/网络 >>软件解析:
源文件就是你编的以.C为后缀名的文件,用来编译、链接、运行,需要的话,用#include" .h"加载头文件(一般以.h为后缀名),即在编译前,把其中的代码包含到源文件中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)