每一次打代码都离不开头文件,而对于头文件的了解又有多少呢。
1.头文件的内容
通常头文件是存储外部存储类型的标识符的,也就是说头文件中包括了用户构造的数据类型,外部变量,外部函数,常量和内联函数等具有一定通用性或常用的量。而一般的变量和函数定义就不太适合放在头文件里面了。
2.头文件有两种写法 :1.#include<stdio.h> 2.#include"stdio.h"
<>尖括号写的头文件是直接引用标准库的头文件,而 “ ” 双引号写的头文件则是先引用非标准库的头文件,也就是我们自己写的头文件,当搜索不到是才去标准库中搜索。
3.标准C语言的头文件
ISO C标准定义的头文件(24‘)
<assert.h>验证程序断言 <complex.h>支持复数算术运算 <ctype.h>字符类型 <errno.h>出错码
<fenv.h>浮点环境 <float.h>浮点常量 <inttypes.h>整型格式转换 <iso646.h>替代关系操作符宏
<limits.h>实现常量 <locale.h>局部类别 <math.h>数学常量 <setjmp.h>非局部goto
<signal.h>信号 <stdarg,h>可变参数表 <stdbool.h>布尔类型和值 <stddef.h>标准定义
<stdint.h>整型 <stdio.h>标准I/O库 <stdlib.h>使用程序库函数 <string.h>字符串操作
<tgmath.h>通用类型数学宏 <time.h>时间和日期 <wchar.h>宽字符支持 <wctype.h>宽字符分类和映射支持
POSIX标准定义的必须的头文件(26’)
<dirent.h>目录项 <fcntl.h>文件控制 <fnmatch.h>文件名匹配类型 <pwd.h>口令文件
<glob.h>路径名模式匹配类型 <grp.h>组文件 <netdb.h>网络数据库操作 <regex.h>正则表达式
<tar.h>tar归档值 <termios.h>终端I/O <unistd.h>符号常量 <utime.h>文件时间
<wordexp.h>字扩展类型 <arpa/inet.h>Internet定义 <net/if.h>套接字本地接口 <netinet/in.h>Internet地址族
<netinet/tcp.h>传输控制协议 <sys/mman.h>内存管理声明 <sys/select.h>select函数 <sys/socket.h>套接字接口
<sys/stat.h>文件状态 <sys/times.h>进程时间 <sys/types.h>基本系统数据类型 <sys/un.h>UNIX域套接字定义
<sys/utsname.h>系统名 <sys/wait.h>进程控制
POSIX标准定义的XSI扩展头文件(26‘)
<cpio.h>cpio归档值 <dlfcn.h>动态连接 <fmtmsg.h>消息显示结构 <ftw.h>文件数漫游
<iconv.h>代码集转换使用程序 <langinfo.h> 语言信息常量 <libgen.h> 模式匹配函数定义 <monetary.h> 货币类型
<ndbm.h> 数据库操作 <nl_types.h> 消息类别 <poll.h> 轮询函数 <search.h> 搜索表
<strings.h> 字符串操作 <syslog.h> 系统出错日志记录 <ucontext.h> 用户上下文 <ulimit.h> 用户限制
<utmpx.h> 用户帐户数据库 <sys/ipc.h> IPC <sys/msg.h> 消息队列 <sys/resource.h> 资源操作
<sys/sem.h> 信号量 <sys/shm.h> 共享存储 <sys/statvfs.h> 文件系统信息 <sys/time.h> 时间类型
<sys/timeb.h> 附加的时间 <sys/uio.h> 矢量I/O操作
POSIX标准定义的可选头文件(8')
<aio.h> 异步I/O <mqueue.h> 消息队列 <pthread.h> 线程 <sched.h> 执行调度
<semaphore.h> 信号量 <spawn.h> 实时spawn接口 <stropts.h> XSI STREAMS接口 <trace.h> 时间跟踪