C语言的头文件是什么?

如题所述

首先你要理解 C 语言的头文件(.h 结尾的文件)是什么。


这里的后缀 h 就是 Header File(头文件)的首字母。一般在头文件中,会存有程序所需函数的函数原型(Prototype)、一些常量(Constant)、一些变量(Variable)、一些类型(Type)和一些宏(Macro)。


这些存在头文件中的东西会在编译时被编译器原封不动地复制到你的程序源码(也就是 .c 为后缀的文件)中,以提供你所需要的函数和一些变量的声明。因此要在 C 源码的开头写入 #include 语句

#include <系统头文件,比如 stdio.h 或者 stdlib.h 等,要用尖括号括起来>

或者

#include "用户自定义的头文件,如果是你自己写的 .h 头文件,就要用引号括起来"

来告诉编译器需要复制到源代码的头文件名称。


然后再看 stdio.h。stdio 是 “Standard Input and Output” 的简称,也就是标准输入输出。这个头文件是 C 语言最基础的头文件之一,因为它当中包含有最基本的输入输出函数的原型,以及一些最基本的常量和宏。我举几个比较常用的

// 函数原型
int printf ( const char * format, ... );
int scanf ( const char * format, ... );
FILE * fopen ( const char * filename, const char * mode );
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

// 常量和宏
NULL
EOF

// 变量
stdin
stdout
stderr

// 类型
FILE
size_t


所以,只有当你包含了 stdio.h 时,以上的这些函数才会被声明,你才可以在没有任何编译警告和错误的情况下随意使用例如 printf 和 scanf 等函数。当然,如果你不包含 stdio,仍然可以使用 printf 或者 scanf 函数,因为它们是 C 语言自带的几个基础函数之一,但是你会收到编译器的警告,因为编译器没有发现这些函数的原型,也就是相当于你没有声明这些函数。而且,一些在头文件中定义的变量和类型你也无法使用。所以,一般会主动包含 stdio.h 头文件,防止进一步的错误。毕竟只有没有任何警告的编译才算是真正成功的编译。

温馨提示:答案为网友推荐,仅供参考
相似回答