关于c语言头文件使用问题

关于c语言头文件使用问题,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

各位高手,我用c编了个程序,想使用自己编的头文件即#include "******.h"这样,请问头文件中除了包括函数体外,还应该包括什么?如果我其中一个头文件中的函数又要用到其他头文件中的函数,应该怎样做?谢谢!

解析:

从原理上来说,

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

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

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

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

不过,也不是完全没有,一般来说,头文件里多数是放的函数定义或函数体。

此外,还有:

#ifndef ****

#define ****

……

#endif

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

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

初学C语言,个人建议你使用C++Builder 6去练习和理解,当然,这要求你有一定的英语水平(高中毕不合格的E文水平就可以了)。我们简称它为BCB,BCB在很多情况下会自动的帮你加好头文件,你可以观察它自动生成的文件,代码,以进一步学习。

一、头文件作用

C语言里,每个源文件是一个模块,头文件为使用该模块的用户提供接口。接口指一个功能模块暴露给其他模块用以访问具体功能的方法。

使用源文件实现模块的功能,使用头文件暴露单元的接口。用户只需包含相应的头文件就可使用该头文件中暴露的接口。

通过头文件包含的方法将程序中的各功能模块联系起来有利于模块化程序设计:

1)通过头文件调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制库即可。用户只需按照头文件中的接口声明来调用库功能,而不必关心接口如何实现。编译器会从库中提取相应的代码。

2)头文件能加强类型安全检查。若某个接口的实现或使用方式与头文件中的声明不一致,编译器就会指出错误。这一简单的规则能大大减轻程序员调试、改错的负担。

在预处理阶段,编译器将源文件包含的头文件内容复制到包含语句(#include)处。在源文件编译时,连同被包含进来的头文件内容一起编译,生成目标文件(.obj)。

如果所包含的头文件非常庞大,则会严重降低编译速度(使用GCC的-E选项可获得并查看最终预处理完的文件)。因此,在源文件中应仅包含必需的头文件,且尽量不要在头文件中包含其它头文件。

二、用法

C/C++ 程序在源文件前面写 #include <windows.h>即可。

作用

头文件封装了库函数以及一些类,将一些复杂的工作由库函数处理,而用户不必把精力放在这些地方。比如说cout<<,为标准输出流,其实说到底还是函数调用,不过这个函数有些特殊,用的是运算符重载,确切地说是重载了“<<”运算符,作用是将键盘输入的在屏幕上打印出来,这个功能要是由我们去写,估计也得学个两三年才有可能。所以就简化了 *** 作。

而这一系列的函数都在头文件中包含(是一个函数库)。在调用时包含后便可直接用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11507619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存