有很多工程师喜欢自己封装一些标准库已有的函数,其实自己封装的函数,并不一定比标准库好,有时候反而代码更冗余,且有bug。
下面小编就来分享一下C语言常见的一些标准库。
标准头文件包括:
<asset.h><ctype.h><errno.h><float.h><limits.h>
<locale.h><math.h><stdio.h><signal.h><time.h>
<stddef.h><stdlib.h><string.h><stdarg.h><setjmp.h>
一、标准定义(<stddef.h>)
文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,<stddef.h>都会被自动包含进来。
这个文件里定义:
● 类型size_t(sizeof运算符的结果类型,是某个无符号整型);
● 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
● 类型wchar_t(宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的字符集的所有编码值。这里还保证空字符的编码值为0);
● 符号常量NULL(空指针值);
● 宏offsetot (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构成员名。
offsetot(s,m)
求出成员m在结构类型t的变量里的偏移量)。
注:其中有些定义也出现在其他头文件里(如NULL)。
二、错误信息(<errno.h>)
<errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。
<errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参