✅ 操作成功!

头文件

发布时间:2023-06-13 作者:admin 来源:文学

头文件

头文件

-

2023年3月19日发(作者:长春光机所)

C语言头文件作用及写法

头文件几个好处:

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

2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修

改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。

3,头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在

哪个.c文件里定义的,才知道。

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

5,调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要

调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h

这个头文件。

头文件写法:

#include

...

//-------------------------------

#ifndefMY_POINT

#defineMY_POINT

classClass1

{

}

classClass2

{

}

...

#endif

在要使用类定义的文件中加入

#include"头文件名.h"

一般来说,头文件里多数是放的函数定义或函数体。

此外,还有:

#ifndef****

#define****

……

#endif

之类的语句,用于控制#define与#endif之间的内容不被重复定义或插入。

#include语句起的只是一个插入作用。

也就是说,#include的文件里的内容可以随便写。

编译器使用#include的文件里的内容来插入到#include所在位置。

所以,你说的“头文件”没有固定格式。

如要使用其它头文件中的函数,可以直接在你的头文件中引用。

初学C语言,个人建议你使用C++Builder6去练习和理解,当然,这要求你有一定的英语

水平.在很多情况下会自动的帮你加好头文件,你可以观察它自动生成的文件,代码,以进

一步学习。

example:

我截了一小段

/*math.h

Definitionsforthemathfloatingpointpackage.

Copyright(c)1987,1991byBorlandInternational

AllRightsReserved.

*/

#ifndef__MATH_H

#define__MATH_H

#if!defined(__DEFS_H)

#include

#endif

#defineHUGE_VAL_huge_dble

externdouble_Cdecl_huge_dble;

#define_LHUGE_VAL_huge_ldble

externlongdouble_Cdecl_huge_ldble;

#ifdef__cplusplus

extern"C"{

#endif

double_Cdeclacos(double__x);

double_Cdeclasin(double__x);

double_Cdeclatan(double__x);

double_Cdeclatan2(double__y,double__x);

double_Cdeclceil(double__x);

double_Cdeclcos(double__x);

double_Cdeclcosh(double__x);

double_Cdeclexp(double__x);

double_Cdeclfabs(double__x);

double_Cdecl__fabs__(double__x);/*Intrinsic*/

double_Cdeclfloor(double__x);

double_Cdeclfmod(double__x,double__y);

double_Cdeclfrexp(double__x,int*__exponent);

double_Cdeclldexp(double__x,int__exponent);

double_Cdecllog(double__x);

double_Cdecllog10(double__x);

double_Cdeclmodf(double__x,double*__ipart);

double_Cdeclpow(double__x,double__y);

double_Cdeclsin(double__x);

double_Cdeclsinh(double__x);

double_Cdeclsqrt(double__x);

double_Cdecltan(double__x);

double_Cdecltanh(double__x);

longdouble_Cdeclacosl(longdouble__x);

longdouble_Cdeclasinl(longdouble__x);

longdouble_Cdeclatan2l(longdouble__x,longdouble__y);

longdouble_Cdeclatanl(longdouble__x);

longdouble_Cdeclceill(longdouble__x);

longdouble_Cdeclcoshl(longdouble__x);

longdouble_Cdeclcosl(longdouble__x);

longdouble_Cdeclexpl(longdouble__x);

longdouble_Cdeclfabsl(longdouble__x);

longdouble_Cdeclfloorl(longdouble__x);

longdouble_Cdeclfmodl(longdouble__x,longdouble__y);

longdouble_Cdeclfrexpl(longdouble__x,int*__exponent);

longdouble_Cdeclldexpl(longdouble__x,int__exponent);

longdouble_Cdecllog10l(longdouble__x);

longdouble_Cdecllogl(longdouble__x);

longdouble_Cdeclmodfl(longdouble__x,longdouble*__ipart);

longdouble_Cdeclpowl(longdouble__x,longdouble__y);

longdouble_Cdeclsinhl(longdouble__x);

longdouble_Cdeclsinl(longdouble__x);

longdouble_Cdeclsqrtl(longdouble__x);

longdouble_Cdecltanhl(longdouble__x);

longdouble_Cdecltanl(longdouble__x);

typedefenum

{

DOMAIN=1,/*argumentdomainerror--log(-1)*/

SING,/*argumentsingularity--pow(0,-2))*/

OVERFLOW,/*overflowrangeerror--exp(1000)*/

UNDERFLOW,/*underflowrangeerror--exp(-1000)*/

TLOSS,/*totallossofsignificance--sin(10e70)*/

PLOSS,/*partiallossofsignif.--notused*/

STACKFAULT/*floatingpointunitstackoverflow*/

}_mexcep;

#ifdef__cplusplus

}

#endif

1)所有C++的源文件均必须包含一个规范的文件头,文件头包含了该文件的名称、功能概

述、作者、版权和版本历史信息等内容。

/*!@file

************************************************************************

********

模块名:

文件名:

相关文件:

文件实现功能:

作者:

版本:

--------------------------------------------------------------------------------

备注:

--------------------------------------------------------------------------------

修改记录:

日期版本修改人修改内容

YYYY/MM/DDX.Y

************************************************************************

*******/

像这样具体的格式,最好是例子,标准的(每行前具体要空几格等)。

(2)对于是自定义的头文件:

首先要写一个头文件出来,比如说"hello.h",内容如下:

#ifndef_hello_h_

#define_hello_h_

#include

usingnamespacestd;//调用基本输入输出库

#defineSIZE1024//定义大小

#defineLEN100//定义长度

classhello

{

public:

//以下为定义的类

};

#endif

然后是应用程序文件,比如叫"".你说的那些东西写在最前面,不用空格,规范的写法

是用TAB键开头.例:

/*templateforcelancterminalprogram//此处顶格写或另起一行加TAB

xx--feature(ir,lighting,audio...)//此处两个TAB

yy--device(gc100,pim,russound...)

author:myth//单TAB

version:5.3

date:2008/9/9

*/

//还需要其他信息你自己添.百度这个框不支持TAB键,只好用注释标明了...

#include

intmain()

{

}

差不多就这样

👁️ 阅读量:0