一、stdlib.h和cstdlib的区别
转载:https://zhidao.baidu.com/question/1757183223487622988.html
C语言中是有 #include <stdlib.h> 的。 这是C语言标准的包含库的头文件stdlib.h的语句。
在代码中引用此句后,就可以使用stdlib.h中的函数,而不会出现未声明的警告。
stdlib.h是C语言库头文件之一,包含了以下函数:
1 字符串转换为数字的函数,包括atoi, atof, strtol等。
2 随机数函数,包括srand, rand等。
3 内存分配释放函数,如malloc,calloc,realloc,free等。
4 程序运行控制函数,如exit, abort等。
5 系统访问相关函数,如printenv, setenv,system等。
6 常用算法函数,如qsort, bsearch, abs,div等。
在C++中也可以使用#include <stdlib.h>,因为C++兼容了C语言中的操作。
不过一般更推荐使用C++风格的头文件,即#include <cstdlib>。
cstdlib实现了stdlib.h中的所有功能,不过是按照C++的方式写的,所以与C++语言可以更好的配合。
二、stdlib.h和stdio.h的区别
转载:https://zhidao.baidu.com/question/339948129.html
(一)定位不同
1、stdlib.h,是 standard library 标准库头文件,定位在通用工具函数。
2、stdio.h,是 standard input&output 标准输入输出头文件,定位在标准的输入输出工具函数。
(二)封装函数不同
1、stdlib.h主要封装了malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等函数。
2、stdio.h主要封装了getchar()、putchar()、scanf()、printf()、gets()、puts()、sprintf()等函数。
(三)定义类型不同
1、stdlib.h定义了size_t、wchar_t、div_t、ldiv_t和lldiv_t五种类型。
2、stdio没有定义类型。