c语言什么是头文件

Python018

c语言什么是头文件,第1张

头文件在计算机C语言家族程序中被大量使用,主要作用在于多个代码文件全局变量的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码。

一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的。只知道调用系统库函数时,要使用#include语句将某些头文件包含进去。其实,头文件跟.C文件一样,是可以自己写的。头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了。头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等。当使用#include语句将头文件引用时,相当于将头文件中所有内容,复制到#include处。使用头文件不仅可以减少工作量,还可以减少因代码编写不细心而导致的错误。

工具/原料

Visual C++ 6.0

方法/步骤

打开Visual C++ 6.0,文件-新建-文件选项卡-C/C++ Header File

编写代码如下:

max(int x,int y)

{

if(x>y)

printf("%d",x)

else

printf("%d",y)

}

按Ctrl+S或者点击保存,然后可以看到目录下有一个H1.H,这就是我们的头文件了,把它放到“Visual C++ 6.0安装目录\VC98\ATL\Include”文件夹下就可以使用了。

使用方法就像使用自带的头文件一样。

一个简单的比较两数大小的头文件就完成了,很简单吧。

C++/C程序的头文件以“.h”为后缀。以下是假设名称为graphics.h的头文件:

#ifndef GRAPHICS_H//作用:防止graphics.h被重复引用

#define GRAPHICS_H

#include&lt....&gt//引用标准库的头文件

...

#include"..."//引用非标准库的头文件

...

void Function1(...)//全局函数声明

...

inline()//inline函数的定义

...

classBox//作用:类结构声明

{

...

}

#endif

从以上例子可以看出,头文件一般由四部分内容组成:

(1)头文件开头处的版权和版本声明;

(2)预处理块;

(3)inline函数的定义;

(4)函数和类结构声明等。

在头文件中,用ifndef/define/endif结构产生预处理块,用#include格式来引用库的头文件。头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。

传统 C++:

扩展资料:

c语言头文件的作用:

1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数;

2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。

3、头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。

4、他并不是C自带的,可以不用。

5、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。

参考资料:

百度百科——头文件

c语言 出现的#if 0 是预编译指令,表示之后的代码不执行。

C语言中预编译指令#if、#else和#endif指令一般配合使用。#if  后面的参数为真(非0)则执行#if  后面的模块。#if 后面的参数为假,则不执行#if 后面的模块。

此指令多用在调试的时候,有段代码不想删除,怕后面用到所以用 #if 0 来暂时注释掉,如果想用的话就用#if 1 来开启;例如: #if true 执行 #endif  #if false 跳过 #endif。

扩展资料:

常见的预编译指令有:

一、#include 指令

该指令指示编译器将xxx.xxx文件的全部内容插入此处。若用<>括起文件则在系统的INCLUDE目录中寻找文件,若用" "括起文件则在当前目录中寻找文件。一般来说,该文件是后缀名为"h"或"hpp"的头文件。

二、#define指令有三种用法:

1、第一种是定义标识,标识有效范围为本翻译单元本指令之后,形如#define XXX,常与#if配合使用;

2、第二种是定义常数,如#define max 100,则max代表100;

3、第三种是定义"函数",如#define get_max(a, b) ((a)>(b)?(a):(b)) 则以后使用get_max(x,y)就可以得到x和y中较大的数(这种方法存在一些弊病,见注2)。

参考资料来源:百度百科-预编译