
头文件
-
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()
{
}
差不多就这样