头文件有哪些|头文件和源文件有什么区别

『壹』 不同的头文件有什么意义,如"stdio.h" "math.h" "string.h"一般常用的头文件有哪些啊

头文件也是程序,人们编程发现有很多东西每次都要重复,就把重复的东东事先写好做好分类(就有了stdio.h标准输入输出头文件;math.h算数运算头文件;string.h字符串头文件等)。用头文件的形式保存。以后在写程序时发现需要那些常用的东东只要包含相应的头文件就好了。程序在编译是,编译器会在指定的目录中找到程序所包涵的头文件加到个人编写的程序中。

『贰』 C++语言中常用头文件有哪些举例

#include <algorithm> //STL 通用算法#include <bitset>//STL 位集容器#include <cctype> //字符处理#include <cerrno> //定义错误码#include <cfloat> //浮点数处理#include <ciso646> //对应各种运算符的宏#include <climits> //定义各种数据类型最值的常量#include <clocale> //定义本地化函数#include <cmath> //定义数学函数#include <complex> //复数类#include <csignal> //信号机制支持#include <csetjmp> //异常处理支持#include <cstdarg> //不定参数列表支持#include <cstddef> //常用常量#include <cstdio> //定义输入/输出函数#include <cstdlib> //定义杂项函数及内存分配函数#include <cstring> //字符串处理#include <ctime> //定义关于时间的函数#include <cwchar> //宽字符处理及输入/输出#include <cwctype> //宽字符分类#include <deque> //STL 双端队列容器#include <exception> //异常处理类#include <fstream> //文件输入/输出#include <functional>//STL 定义运算函数(代替运算符)#include <limits> //定义各种数据类型最值常量#include <list>//STL 线性列表容器#include <locale> //本地化特定信息#include <map> //STL 映射容器#include <memory> //STL通过分配器进行的内存分配#include<new> //动态内存分配#include <numeric> //STL常用的数字操作#include <iomanip> //参数化输入/输出#include <iOS> //基本输入/输出支持#include <iosfwd>//输入/输出系统使用的前置声明#include <iostream> //数据流输入/输出#include <istream> //基本输入流#include <iterator> //STL迭代器#include <ostream> //基本输出流#include <queue> //STL 队列容器#include <set> //STL 集合容器#include <sstream> //基于字符串的流#include <stack> //STL 堆栈容器#include <stdexcept> //标准异常类#include <streambuf> //底层输入/输出支持#include <string>//字符串类#include <typeinfo> //运行期间类型信息#include <utility> //STL 通用模板类#include <valarray> //对包含值的数组的操作#include <vector>//STL 动态数组容器望采纳~

『叁』 C++中的头文件主要有哪些都有啥作用

一般来说,头文件提供接口,源文件提供实现。但是有些实现比较简单的,也可以直接写在头文件里,这样头文件接口实现一起提供。在编译时,源文件里的实现会被编译成临时文件,运行时刻程序找到头文件里的接口,根据接口找到这些临时文件,来调用它们这些实现。之所以在 C++ 中要使用头文件,最主要的原因是 C++ 的同一个项目可能有多个源代码文件,要命的是这些源代码是分别单独编译的。也就是说,在编译其中一个文件时,编译器并不知道其它文件中定义的内容,如类、全局变量等。这就要求我们必须在要使用某个类、函数或变量的每个文件中声明它,否则 C++ 是无法找到它的。 很多文件可能都需要使用加法。假设有一个文件 b.cpp 需要使用这个函数,那么,它必须先声明它,虽然不需要再重写。 如果有很多文件都要使用这个函数,那么这会变得麻烦,特别的,如果你写了一个类,那么你需要维护大量的声明(对于每一个 public 对象),并且如果你的类的定义发生了改变,你可能不得不改变无数个声明。所以,C++ 语言提出了头文件的概念。你只需要在头文件中声明一次,在实现文件中定义一次,在所有需要用的文件中,就只需要引用这个头文件,相当于每个文件都包含了一个声明。为了防止头文件的重复包含,通常应该使用预处理指令 #define (定义符号)、#ifndef(如果没有定义)、#endif(结束判断)来书写头文件的内容。

『肆』 C语言库文件(头文件)有哪些

下面给出Turbo C的全部".h"文件。Turbo C头文件:头文件说明alloc.h 说明内存管理函数(分配、释放等)。 assert.h 定义 assert调试宏。 bios.h 说明调用IBM—PC ROM BIOS子程序的各个函数。 conio.h 说明调用DOS控制台I/O子程序的各个函数。 ctype.h 包含有关字符分类及转换的名类信息(如 isalpha和toascii等)。 dir.h 包含有关目录和路径的结构、宏定义和函数。 dos.h 定义和说明MSDOS和8086调用的一些常量和函数。 error.h 定义错误代码的助记符。 fcntl.h 定义在与open库子程序连接时的符号常量。 float.h 包含有关浮点运算的一些参数和函数。 graphics.h 说明有关图形功能的各个函数,图形错误代码的常量定义,正对不同驱动程序的各种颜色值,及函数用到的一些特殊结构。 io.h 包含低级I/O子程序的结构和说明。 limit.h 包含各环境参数、编译时间限制、数的范围等信息。 math.h 说明数学运算函数,还定了 HUGE VAL 宏, 说明了matherr和matherr子程序用到的特殊结构。 mem.h 说明一些内存操作函数(其中大多数也在STRING.H中说明)。 process.h 说明进程管理的各个函数,spawn…和EXEC …函数的结构说明。 setjmp.h 定义longjmp和setjmp函数用到的jmp buf类型,说明这两个函数。 share.h 定义文件共享函数的参数。 signal.h 定义SIG[ZZ(Z] [ZZ)]IGN和SIG[ZZ(Z] [ZZ)]DFL常量,说明rajse和signal两个函数。 stddef.h 定义读函数参数表的宏。(如vprintf,vscarf函数)。 stddef.h 定义一些公共数据类型和宏。 stdio.h 定义Kernighan和Ritchie在Unix System V 中定义的标准和扩展的类型和宏。还定义标准I/O 预定义流:stdin,stdout和stderr,说明 I/O流子程序。 stdlib.h 说明一些常用的子程序:转换子程序、搜索/ 排序子程序等。 string.h 说明一些串操作和内存操作函数。 sys\stat.h 定义在打开和创建文件时用到的一些符号常量。 sys\types.h 说明ftime函数和timeb结构。 sys\time.h 定义时间的类型time[ZZ(Z] [ZZ)]t。 time.h 定义时间转换子程序asctime、localtime和gmtime的结构,ctime、 difftime、 gmtime、 localtime和stime用到的类型,并提供这些函数的原型。 value.h 定义一些重要常量,包括依赖于机器硬件的和为与Unix System V相兼容而说明的一些常量,包括浮点和双精度值的范围。C系统提供了丰富的系统文件,称为库文件。C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过。在".h"文件中包含了常量定义、 类型定义、宏定义、函数原型以及各种编译选择设置等信息。另一类是函数库,包括了各种函数的目标代码,供用户在程序中调用。通常在程序中调用一个库函数时,要在调用之前包含该函数原型所在的".h" 文件。

『伍』 头文件是什么

头文件是一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,是用户应用程序和函数库之间的桥梁和纽带,在计算机C语言家族程序中被大量使用。 头文件主要作用在于多个代码文件全局变量的重用、防止定义的冲突,对各个被调用函数给出一个描述。

『陆』 头文件可以有几个呢,是不是每个都要有stdio.h.呢

代码中若使用printf函数就要包含stdio.h,若用malloc函数就要包含stdlib.h。也就是说你要使用什么库函数就要包含对应的头文件。反之你不使用printf等标准输入输出函数,就可以不用包含stdio.h。你经常看到代码中包含有stdio.h是因为这些代码中都经常在用printf等函数,头文件有很多,你自己也可以写个头文件。高级进阶:从上面的解释,是不是以为要用printf函数就必须包含stdio.h,告诉你这也不是绝对的,比如下面的图片代码,什么头文件都没有包含,照样可以编译运行(编译环境vc6.0):

到这里,是不是感到很迷糊,这是你对包含头文件的意义不明白。头文件主要作用对函数的声明,比如printf函数,在编译的时候告诉编译器,printf函数的参数是怎么样的,有几个参数,参数是什么类型的,如果你调用的时候参数不匹配就会报错,这些检查通过后,在代码链接的时候就会链接对应的函数代码。图中代码直接把函数声明写在代码里,就可以不用包含stdio.h文件,只要给定的声明是正确的,就没问题。

有什么不解可以追问。

『柒』 头文件和源文件有什么区别

头文件和源文件在本质上没有任何区别。 只不过一般:后缀为 .h 的文件是头文件,内含函数声明、宏定义、结构体定义等内容。后缀为 .c 的文件是源文件,内含函数实现,变量定义等内容。而且是什么后缀也没有关系,只不过编译器会默认对某些后缀的文件采取某些动作。这样分开写成两个文件是一个良好的编程风格。简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:①预处理阶段②词法与语法分析阶段③ 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各 个目标文件 (.obj文件)④连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关 的可执行文件,当然,最后还可以用obj生成纯二进制码,也就是去掉了文件格 式信 息。(生成.exe文件)3.比方说 在aaa.h里定义了一个函数的声明,然后在aaa.h的同一个目录下建立aaa.c , aaa.c里定义了这个函数的实现,然后是在main函数所在.c文件里#include这个aaa.h 然后我就可以使用这个函数了。 main在运行时就会找到这个定义了这个函数的aaa.c文件。这是因为:main函数为标准C/C++的程序入口,编译器会先找到该函数所在的文件。假定编译程序编译myproj.c(其中含main())时,发现它include了mylib.h(其中声明了函数void test()),那么此时编译器将按照事先设定的路径(Include路径列表及代码文件所在的路径)查找与之同名的实现文件(扩展名为.cpp或.c,此例中为mylib.c),如果找到该文件,并在其中找到该函数(此例中为void test())的实现代码,则继续编译;如果在指定目录找不到实现文件,或者在该文件及后续的各include文件中未找到实现代码,则返回一个编译错误.其实include的过程完全可以“看成”是一个文件拼接的过程,将声明和实现分别写在头文件及C文件中,或者将二者同时写在头文件中,理论上没有本质的区别。以上是所谓动态方式。对于静态方式,基本所有的C/C++编译器都支持一种链接方式被称为Static Link,即所谓静态链接。在这种方式下,我们所要做的,就是写出包含函数,类等等声明的头文件(a.h,b.h,…),以及他们对应的实现文件(a.cpp,b.cpp,…),编译程序会将其编译为静态的库文件(a.lib,b.lib,…)。在随后的代码重用过程中,我们只需要提供相应的头文件(.h)和相应的库文件(.lib),就可以使用过去的代码了。相对动态方式而言,静态方式的好处是实现代码的隐蔽性,即C++中提倡的“接口对外,实现代码不可见”。有利于库文件的转发.

『捌』 单片机c语言中常用的头文件都有哪些分别有什么作用啊

对于c语言的头文件来说,通常情况下是使用#include+文件名语句进行引用。格式如下:#include或#include"mylib.h"使用#include时,使用引号与尖括号的意思是不一样的。使用引号””时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录。所以对于用户自定义头文件来说,通常使用双引号。而使用尖括号<>时,刚好是相反的搜索顺序。所以对于编译系统提供的头文件来说,通常使用尖括号。例:假设我们有两个文件名一样的头文件hardware.h,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件i,另一个则保存在当前工程的目录下,我们把它叫做文件ii。如果我们使用的是#include,则我们引用到的是文件i。如果我们使用的是#include“hardware.h”,则我们引用的将是文件ii。

『玖』 c语言中有哪些头文件

C/C++头文件一览 C、传统 C++ #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> //定义错误码 #include <float.h> //浮点数处理 #include <fstream.h> //文件输入/输出 #include <iomanip.h> //参数化输入/输出 #include <iostream.h> //数据流输入/输出 #include <limits.h> //定义各种数据类型最值常量 #include <locale.h> //定义本地化函数 #include <math.h> //定义数学函数 #include <stdio.h> //定义输入/输出函数 #include <stdlib.h> //定义杂项函数及内存分配函数 #include <string.h> //字符串处理 #include <strstrea.h> //基于数组的输入/输出 #include <time.h> //定义关于时间的函数 #include <wchar.h> //宽字符处理及输入/输出 #include <wctype.h> //宽字符分类 ////////////////////////////////////////////////////////////////////////// 标准 C++ (同上的不再注释) #include <algorithm> //STL 通用算法 #include <bitset> //STL 位集容器 #include <cctype> #include <cerrno> #include <clocale> #include <cmath> #include <complex> //复数类 #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <deque> //STL 双端队列容器 #include <exception> //异常处理类 #include <fstream> #include <functional> //STL 定义运算函数(代替运算符) #include <limits> #include <list> //STL 线性列表容器 #include <map> //STL 映射容器 #include <iomanip> #include <ios> //基本输入/输出支持 #include <iosfwd> //输入/输出系统使用的前置声明 #include <iostream> #include <istream> //基本输入流 #include <ostream> //基本输出流 #include <queue> //STL 队列容器 #include <set> //STL 集合容器 #include <sstream> //基于字符串的流 #include <stack> //STL 堆栈容器 #include <stdexcept> //标准异常类 #include <streambuf> //底层输入/输出支持 #include <string> //字符串类 #include <utility> //STL 通用模板类 #include <vector> //STL 动态数组容器 #include <cwchar> #include <cwctype> using namespace std; ////////////////////////////////////////////////////////////////////////// C99 增加 #include <complex.h> //复数处理 #include <fenv.h> //浮点环境 #include <inttypes.h> //整数格式转换 #include <stdbool.h> //布尔环境 #include <stdint.h> //整型环境 #include <tgmath.h> //通用类型数学宏 #include<conio.h> 说明调用DOS控制台I/O子程序的各个函数。 #include<sio.h> 包含字符串库函数说明的头文件 #include<slib.h> 包含动态存储与释放函数头文件


赞 (0)