第二十三章、C 语言标准库

1. C 语言标准库简介

本章将对 C 语言常用标准库函数进行讲解。C 语言的标准库是编译器自带的库,其内部统一定义了一组函数和宏,方便开发人员使用。在不同版本的编译器里都会存在这些函数,并且有统一的调用接口,具有可移植性。

在 Linux 操作系统下 C 标准款对应的静态库文件是 libc.a,动态库文件是 libc.so,一般的编译器在编译时都会对这些库进行自动链接(不需要指定链接选项)。

在 C 标准库中,每个库函数均在某个头文件中声明,其类型包含函数原型。使用者仅通过 #include 预处理指令可使其内容可用。头文件声明了一组相关的函数,以及为便于使用而需要的任何必要类型和附加宏。

标准库的头文件如下:

<assert.h>      <math.h>         <stdlib.h>
<complex.h>     <setjmp.h>       <stdnoreturn.h>
<ctype.h>       <signal.h>       <string.h>
<errno.h>       <stdalign.h>     <tgmath.h>
<fenv.h>        <stdarg.h>       <threads.h>
<float.h>       <stdatomic.h>    <time.h>
<inttypes.h>    <stdbool.h>      <uchar.h>
<iso646.h>      <stddef.h>       <wchar.h>
<limits.h>      <stdint.h>       <wctype.h>
<locale.h>      <stdio.h>

C 语言的标准库中常用的内容

  1. 标准输入/输出(stdio.h)
    • fopenfclosefreadfscanfprintfscanf 等。
  2. 字符串处理(string.h)
    • strcatstrcatmemsetmemcpy等。
  3. 数学计算(math.h)
    • sincos 等。
  4. 内存管理、类型转换、随机数等(stdlib.h)
    • mallocfreeatoiatofrandsrand 等。
  5. 时间函数(time.h)
    • timegmtimemktimectimelocaltime 等。
  6. 常用常量定义(stddef.h)
    • 如:NULLsize_t 等。
  7. 字符分类和转换(ctype.h)
    • isdigitisspaceisalpha 等。
  8. 错误处理(errno.h)
    • extern int errnoperror 等。
  9. 整型限制(limits.h)
    • INT_MAXINT_MINLONG_MAXLONG_MIN等。

实验

在已经安装 C 语言编译器的电脑上找到上述 C 语言标准款的头文件,然后查看头文件的内容。