C 速查手冊
11.4 通用工具 stdlib.h
標頭檔 stdlib.h 宣告許多作為通用工具的函數 (function) ,例如型態轉換、搜尋排序、記憶體配置、擬隨機數產生等等。
以下函數可作型態轉換
函數名稱 | 功能 | 函數原型 |
---|---|---|
atof | 將數字字串轉後成 double 型態的數字 | double atof(const char *); |
atoi | 將數字字串轉後成 int 型態的數字 | int atoi(const char *); |
strtod | 將字串中的數字轉換成 double 型態的數字,非數字部份以另一字串儲存 | double strtod(const char *s, char **r); |
strtol | 將字串中的數字轉換成 long 型態的數字,非數字部份以另一字串儲存 | long strtol(const char *s, char **r, int base); |
以下函數可在陣列 (array) 中做搜尋及排序
函數名稱 | 功能 | 函數原型 |
---|---|---|
bsearch | 利用二元搜尋法搜尋陣列中的元素 | void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum)); |
qsort | 利用快速排序法以遞增方式將陣列中的元素排序 | void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *)); |
以下函數用為記憶體配置
函數名稱 | 功能 | 函數原型 |
---|---|---|
calloc | 回傳一塊大小為 nobj 的陣列記憶體空間,陣列的每個元素大小為 size | void *calloc(size_t nobj, size_t size); |
malloc | 回傳一塊大小為 sizs 的記憶體空間 | void *malloc(size_t size); |
realloc | 將 ptr 所指向資料記憶體空間的大小改為 size | void *realloc(void *ptr, size_t size); |
free | 釋放 ptr 所指向的記憶體空間 | void free(void *ptr); |
以下函數用為結束程式
函數名稱 | 功能 | 函數原型 |
---|---|---|
abort | 使程式以不正常的方式結束 | void abort(void); |
exit | 使程式正常結束 | void exit(int); |
以下函數可執行作業系統的指令
函數名稱 | 功能 | 函數原型 |
---|---|---|
system | 執行作業系統的指令 | int system(const char *s); |
以下函數可產生擬隨機數
函數名稱 | 功能 | 函數原型 |
---|---|---|
rand | 回傳虛擬亂數整數值 | int rand(void); |
srand | 產生虛擬亂數的種子數 | void srand(unsigned int seed) |