C语言的开始:源文件,头文件

C语言的开始:源文件,头文件,第1张

任何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变量或函数就相当于在这个源文件中定义,当然源文件就可以访问了。

头文件就是.h文件,一般用来放类的声明,平时你用的#include就是包含这种文件\x0d\x0a源文件就是.cpp文件,一般用来放你在头文件里声明的类成员函数的具体实现,一般一个.h文件总会有一个同名的.cpp\x0d\x0a譬如现在我有一个类\x0d\x0aclass T\x0d\x0a{\x0d\x0a void printf(){}\x0d\x0a}\x0d\x0a这些内容就放在.h文件中\x0d\x0avoid T::printf(){......}\x0d\x0a这些内容就放在.cpp文件中\x0d\x0a(MFC的消息衍射类都是这样的)\x0d\x0a至于资源文件就是.rc文件,用来存放一些譬如菜单,或者图标等资源的内容

1、cpp文件和.h文件有各自的分工,一般来说,h文件中是类的定义和类成员函数的声明,以及全局变量定义等;cpp文件是对应h文件中成员函数的代码实现。一般cpp文件代码较多。

2、 一般我们在编译的时候只编译cpp文件,将该cpp包含的h文件设为依赖。从而将这些cpp文件和h文件联系起来

C语言

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8053638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存