标准库头文件<stdlib.h>定义了宏NULL和RAND_MAX以及新定义的类型size_t,并且描述了下列函数。注意在调用任意内存分配程序(比如calloc、malloc和realloc)之前,必须调用_NewHeap来初始化堆heap。
int abs(int i) 返回i的绝对值。
int atoi(char*s) 转换字符串s为整型数并返回它,字符串s起始必须是整型数形式字符,否则返回0。
double atof(const char*s) 转换字符串s为双精度浮点数并返回它,字符串s起始必须是浮点数形式字符串。
long atol(char*s) 转换字符串s为长整型数并返回它,字符串s起始必须是长整型数形式字符,否则返回0。
void*calloc(size_t nelem,size_t size) 分配“nelem”个数据项的内存连续空间,每个数据项的大小为size字节并且初始化为0。如果分配成功返回分配内存单元的首地址,否则返回0。
void exit(status) 终止程序运行,典型的是无限循环,它是作为用户main函数的返回点。
void free(void*ptr) 释放ptr所指向的内存区。
void*malloc(size_t size) 分配size字节的存储区,如果分配成功则返回内存区地址。如内存不够分配则返回0。
void_NewHeap(void*start,void*end) 初始化内存分配程序的堆,一个典型的调用是将符号_bss_end+1的地址用作“start”值,符号_bss_end定义为编译器用来存放全局变量和字符串的数据内存的结束,加1的目的是堆栈检查函数,使用_bss_end字节存储为标志字节,这个结束值不能被放入堆栈中。
extern char_bss_end;(www.xing528.com)
_New Heap(&_bss_end+1,&_bss_end+201);
初始化200B大小的堆
int rand(void) 返回一个在0和RAND_MAX之间的随机数。
void*realloc(void*ptr,size_t size) 重新分配ptr所指向内存区的大小为size字节,size可比原来大或小,返回指向该内存区的地址指针。
void srand(unsigned seed) 初始化随后调用的随机数发生器的种子数。
long strtol(char*s,char**endptr,int base)
按照“base.”的格式转换“s”中起始字符为长整型数,如果“endptr”不为空,*endptr将设定“s”中转
换结束的位置。
unsigned long strtoul(char*s,char**endptr,int base)
除了返回类型为无符号长整型数外,其余同“strtol”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。