有不少工程师喜欢本身封装一些标准库已有的函数,其实本身封装的函数,并不必定比标准库好,有时候反而代码更冗余,且有bug。数据库
下面小编就来分享一下C语言常见的一些标准库。编程
标准头文件包括:windows
数组
网络
数据结构
1、标准定义()
文件里包含了标准库的一些经常使用定义,不管咱们包含哪一个标准头文件,都会被自动包含进来。函数
这个文件里定义:学习
● 类型size_t(sizeof运算符的结果类型,是某个无符号整型);编码
● 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);spa
● 类型wchar_t(宽字符类型,是一个整型,其中足以存放本系统所支持的全部本地环境中的字符集的全部编码值。这里还保证空字符的编码值为0);
● 符号常量NULL(空指针值);
● 宏offsetot (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构成员名。
offsetot(s,m)
求出成员m在结构类型t的变量里的偏移量)。
注:其中有些定义也出如今其余头文件里(如NULL)。
2、错误信息()
定义了一个int类型的表达式errno,能够看做一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。
里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno置为EDOM,如出现值域错误就会将errno置为ERANGE。
3、输入输出函数()
文件打开和关闭:
字符输入输出:
getc和putc与这两个函数相似,但经过宏定义实现。一般有下面定义:
格式化输入输出:
行式输入输出:
直接输入输出:
4、数学函数()
1.三角函数:
2.指数和对数函数:
3.其余函数:
注:全部上面未给出类型特征的函数都取一个参数,其参数与返回值都是double类型。
下面函数返回双精度值(包括函数ceil和floor)。在下表里,除其中有特别说明的参数以外,全部函数的其余参数都是double类型。
函数原型意义解释:
5、字符处理函数()
见下表:
注:条件成立时这些函数返回非0值。最后两个转换函数对于非字母参数返回原字符。
6、字符串函数()
1.字符串函数
全部字符串函数列在下表里,函数描述采用以下约定:s、t表示 (char *)类型的参数,cs、ct表示(const char*)类型的参数(它们都应表示字符串)。
n表示size_t类型的参数(size_t是一个无符号的整数类型),c是整型参数(在函数里转换到char):
函数原型意义解释:
2.存储区操做
还有一组字符数组操做函数(存储区操做函数),名字都以mem开头,以某种高效方式实现。
在下面原型中,参数s和t的类型是(void *),cs和ct的类型是(const void *),n的类型是size_t,c的类型是int(转换为unsigned char)。
函数原型意义解释:
7、功能函数()
1.随机数函数:
函数原型意义解释
2.动态存储分配函数:
函数原型意义解释
3.几个整数函数
几个简单的整数函数见下表,div_t和ldiv_t是两个预约义结构类型,用于存放整除时获得的商和余数。
div_t类型的成分是int类型的quot和rem,ldiv_t类型的成分是long类型的quot和rem。
函数原型意义解释
4.数值转换
函数原型意义解释
5.执行控制
1)非正常终止函数abort。
原型是:
2)正常终止函数exit。
原型是:
致使程序按正常方式当即终止。status做为送给执行环境的出口值,0表示成功结束,两个可用的常数为EXIT_SUCCESS,EXIT_FAILURE。
3)正常终止注册函数atexit。
原型是:
可用本函数把一些函数注册为结束动做。被注册函数应当是无参无返回值的函数。注册正常完成时atexit返回值0,不然返回非零值。
6.与执行环境交互
1)向执行环境传送命令的函数system。
原型是:
把串s传递给程序的执行环境要求做为系统命令执行。如以NULL为参数调用,函数返回非0表示环境里有命令解释器。若是s不是NULL,返回值由实现肯定。
2)访问执行环境的函数getenv。
原型是:
从执行环境中取回与字符串s相关联的环境串。若是找不到就返回NULL。本函数的具体结果由实现肯定。在许多执行环境里,能够用这个函数去查看“环境变量”的值。
7.经常使用函数bsearch和qsort
1)二分法查找函数bsearch:
函数指针参数cmp的实参应是一个与字符串比较函数strcmp相似的函数,肯定排序的顺序,当第一个参数keyval比第二个参数datum大、相等或小时分别返回正、零或负值。
2)快速排序函数qsort:
qsort对于比较函数cmp的要求与bsearch同样。设有数组base[0],...,base[n-1],元素大小为size。用qsort能够把这个数组的元素按cmp肯定的上升顺序从新排列。
最后,无论你是转行也好,初学也罢,进阶也可,若是你想学编程~
涉及:C语言、C++、windows编程、网络编程、QT图形界面开发、Linux编程、游戏编程、数据结构与算以及数据库......