任何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变量或函数就相当于在这个源文件中定义,当然源文件就可以访问了。
方法和详细的 *** 作步骤如下:
1、第一步,头文件被构建为在c文件中声明函数,并包括宏定义, 必须有相应的c文件才能创建头文件,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,要编写头文件,创建一个.h文件,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,打开h文件进行编辑,按照步骤可以创建头文件,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,头文件名的大写字母写在#ifndef之后,例如:test.h应该写为__TEST_H__,见下图,转到下面的步骤。
5、第五步,完成上述步骤后,在define和endif之间声明函数名称,见下图,转到下面的步骤。
6、第六步,完成上述步骤后,将include头文件写入主文件中并可以调用,见下图,转到下面的步骤。
7、第七步,完成上述步骤后,进行编译,运行,然后完成,见下图。这样,就解决了这个问题了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)