在c语言中,如何自定义头文件
有没有自己写过的。我也知道把文件设为.h格式,保存在include 文件夹底下,然后引入。但是报错。 展开
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用#include "MyHead.h"来包含。
头文件是不编译的,因为C语言编译过程之前有个预编译过程。在这个过程中用头文件中的内容替换源文件中“#include”命令,所以在编译器看来,没有头文件,只有源文件。预编译过程还包括条件编译。
头文件为了防止被重复包含,通常的格式是:
/* MyHead.h */
#ifndef _MYHEAD_H_
#define _MYHEAD_H_
(这里是头文件的内容)
#endif /* _MYHEAD_H_ */
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用#include "MyHead.h"来包含。保存的地方和是否编译等都不是头文件决定的,头文件只是用来声明。
在c语言中,头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。C语言的的头文件以“.h”为后缀, 而.c是程序文件。
头文件一般由四部分内容组成:头文件开头处的版权和版本声明、预处理块、inline函数的定义和函数和类结构声明等。在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。
自定义头文件的方法:
1、在.h头文件中就包含函数的实现,.h文件包含以下函数:
void hello(void){ printf("hello world\n");}
2、在.h头文件中只包含一些函数的声明,没有具体的实现。需要包含.h和.c文件,.c文件程序如下:
#include <stdio.h>
#include "test.h"
int main()
{ hello();
return 0;}
扩展资料
C语言中,头文件的功能:
1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数。
2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用到繁琐的代码内去搜索。
3、头文件只是声明,不占内存空间,要知道其执行过程,需要知道头文件所申明的函数是在哪个.c文件里定义的。
4、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。
参考资料来源:百度百科——头文件
这是头文件
void hello(void)
{
printf("hello world\n");
}
----------------------------
这是C程序
#include <stdio.h>
#include "test.h"
int main()
{
hello();
return 0;
}
两文件放于一个文件夹下,程序就会返回 hello world
或者参考此代码示例
/* File add.h */
#ifndef ADD_H
#define ADD_H
int add(int, int);
#endif /* ADD_H */
/* File triple.c */
#include "add.h"
int triple(int x)
{
return add(x, add(x, x));
}
具体请参考:网页链接
写法1:在.h头文件中就包含函数的实现,这种头文件实际上是把函数放在一起,便于管理而已。这种情况下只有一个.h文件。
写法2:在.h头文件中只包含一些函数的声明,没有具体的实现。函数的实现放在另外一个不包含main()的.c源文件中,然后需要将源文件和头文件连接起来。这种情况下包含.h文件和.c文件两种文件。
然后将可以像包含<stdio.h>一样直接引用自定义的头文件了。如果想在其他项目中也使用,可以将其放到头文件库中。
两种写法均可以实现。需要注意的是.h需要和调用.h的.c文件放在同一个文件夹即可,另外文件夹的命名遵循和变量相同的命名规则,即不能以数字开头,只能以下划线或者字母开头。
例:
void max1(int a,int b)
{return a>b?a:b;
}
以上内容可以保存为maths.h,保存方法很简单,无非就是扩展名更改,很多IDE都支持保存.h头文件,在“保存”对话框中的“文件类型”里改改即可。
至于调用也很简单,只需把头文件和源程序放在同一个文件夹里,调用时要注意一下:
例:#include "maths.h"
调用时需用引号括起文件名,不可以用尖括号。
如果嫌麻烦,可以将头文件复制到编译器使用的库文件夹里(一般命名为include,里面全都是头文件),再使用include,这时便可以使用尖括号。
尖括号与双引号的区别:尖括号表示直接在库中查找头文件进行编译,双引号表示先在放置源程序的文件夹里查找头文件,再去库里找。