c语言头文件的作用以及写法

头文件几个好处:


1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数;
2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序

就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。
3,头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,

才知道。
4,他并不是C自带的,可以不用。
5,调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。

头文件写法:

#include  
... 
//------------------------------- 
#ifndef MY_POINT 
#define MY_POINT 
class Class1 





class Class2 


... 
#endif 
在要使用类定义的文件中加入 
#include "头文件名.h "

一般来说,头文件里多数是放的函数定义或函数体。 
此外,还有: 
#ifndef **** 
#define **** 
…… 
#endif 

之类的语句,用于控制#define 与 #endif之间的内容不被重复定义或插入。 
#include 语句起的只是一个插入作用。 
也就是说,#include 的文件里的内容可以随便写。 
编译器使用#include 的文件里的内容来插入到#include 所在位置。 
所以,你说的“头文件”没有固定格式。 

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

初学C语言,个人建议你使用C++Builder 6去练习和理解,当然,这要求你有一定的英语水平.在很多情况下会自动的帮你加好头文件,你可以观察它自动生成的文件,代码,以进一步学习。

example:

我截了一小段


#ifndef   __MATH_H
#define   __MATH_H

#if !defined( __DEFS_H )
#include <_defs.h>
#endif

#define HUGE_VAL     _huge_dble
extern double _Cdecl _huge_dble;
#define _LHUGE_VAL    _huge_ldble
extern long double _Cdecl _huge_ldble;

#ifdef __cplusplus
extern "C" {
#endif
double   _Cdecl acos   (double __x);
double   _Cdecl asin   (double __x);
double   _Cdecl atan   (double __x);
double   _Cdecl atan2 (double __y, double __x);
double   _Cdecl ceil   (double __x);
double   _Cdecl cos    (double __x);
double   _Cdecl cosh   (double __x);
double   _Cdecl exp    (double __x);
double   _Cdecl fabs   (double __x);
double   _Cdecl __fabs__   (double __x);          
double   _Cdecl floor (double __x);
double   _Cdecl fmod   (double __x, double __y);
double   _Cdecl frexp (double __x, int *__exponent);
double   _Cdecl ldexp (double __x, int __exponent);
double   _Cdecl log    (double __x);
double   _Cdecl log10 (double __x);
double   _Cdecl modf   (double __x, double *__ipart);
double   _Cdecl pow    (double __x, double __y);
double   _Cdecl sin    (double __x);
double   _Cdecl sinh   (double __x);
double   _Cdecl sqrt   (double __x);
double   _Cdecl tan    (double __x);
double   _Cdecl tanh   (double __x);

long double _Cdecl acosl   (long double __x);
long double _Cdecl asinl   (long double __x);
long double _Cdecl atan2l (long double __x, long double __y);
long double _Cdecl atanl   (long double __x);
long double _Cdecl ceill   (long double __x);
long double _Cdecl coshl   (long double __x);
long double _Cdecl cosl    (long double __x);
long double _Cdecl expl    (long double __x);
long double _Cdecl fabsl   (long double __x);
long double _Cdecl floorl (long double __x);
long double _Cdecl fmodl   (long double __x, long double __y);
long double _Cdecl frexpl (long double __x, int *__exponent);
long double _Cdecl ldexpl (long double __x, int __exponent);
long double _Cdecl log10l (long double __x);
long double _Cdecl logl    (long double __x);
long double _Cdecl modfl   (long double __x, long double *__ipart);
long double _Cdecl powl    (long double __x, long double __y);
long double _Cdecl sinhl   (long double __x);
long double _Cdecl sinl    (long double __x);
long double _Cdecl sqrtl   (long double __x);
long double _Cdecl tanhl   (long double __x);
long double _Cdecl tanl    (long double __x);

typedef enum
{
     DOMAIN = 1,    
     SING,          
     OVERFLOW,      
     UNDERFLOW,     
     TLOSS,         
     PLOSS,         
     STACKFAULT     
   _mexcep;

#ifdef __cplusplus
}
#endif

 

1)所有C++的源文件均必须包含一个规范的文件头,文件头包含了该文件的名称、功能概述、作者、版权和版本历史信息等内容。 

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

(2)对于是自定义的头文件: 
首先要写一个头文件出来,比如说"hello.h",内容如下: 

#ifndef _hello_h_ 
#define _hello_h_ 

#include  
using namespace std; //调用基本输入输出库 

#define SIZE 1024 //定义大小 
#define LEN 100 //定义长度 

class hello 

public: 
//以下为定义的类 
}; 

#endif 

然后是应用程序文件,比如叫"hello.cpp".你说的那些东西写在最前面,不用空格,规范的写法是用TAB键开头.例: 
 
//还需要其他信息你自己添.百度这个框不支持TAB键,只好用注释标明了... 
#include  
int main() 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lm_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值