C语言中 .c和.h有什么区别
的有关信息介绍如下:问题补充说明:文件的编辑;fun; #include ":#include "fun.h", int b):先建立一个main。。比如,fun(9:int fun(int a.h再建一个fun.c而不直接把这两个写在一起当做fun;再建一个fun,2)).c文件.c,解释一下下:#include
一、意思不同
.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。
.c文件一般放的是变量、数组、函数的具体定义。
二、用法不同
.c文件,以c为扩展名,一般存储具体功能的实现。
展略划.h文件,称为头文件,一般存储类型的定义,函数的声明等。通常,头文件被.c文件包含,使用#include语句。但值得注意的是,这只是一种约定,而非事强制。
三、作用
如果在h文件中实现一个函数体,那么如果在多个C文件中引用它,而且又同时编译多个C文件,将其生成的目标文件连接成一个可执行文件,在每个引用此h文件的C文件所项危误充成调院散的河简生成的目标文件中,都有一份这个函数的代码,如果这段函数又没来自有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错供赵渐迫织座而南欢。
如果在h文件中定义全360问答局变量,并且将此全局变量赋初值,那么在多个引用此h文件的C文件中同样存在相同变量款行呀李离夫粉名的拷贝,关键是此变量被赋了初值,所以编译器就会将此变量放药热入DATA段,最终在连接阶段,会在袁序却念几先DATA段中存在多个相同的变量,它无法将这些变量统一成一个变量,也就是仅为此变量分配一个空间,而不是多份空间,假定这个变量在h文件没有赋初值,编译海便束汉料精肥家孩审绍器就会将之放入BSS段测复过实飞理丰往载态变,连接器会对BSS段影诗层住福晚创钟架的多个同名变量仅分配一个存储空间。