C 標準函式庫 - <stdlib.h>
簡介
stdlib .h 頭檔定義了四個變數型別、一些巨集和各種通用工具函數。
庫變數
以下是頭檔stdlib.h 中定義的變數類型:
##變數& 描述 | |
---|---|
size_t | 這是無符號整數類型,它是sizeof 關鍵字的結果。 |
wchar_t | 這是一個寬字元常數大小的整數型別。 |
div_t | 這是 div 函數傳回的結構。 |
ldiv_t | 這是 ldiv 函數傳回的結構。 |
以下是頭檔stdlib.h 中定義的巨集:
1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#NULL | 這個巨集是一個空指標常數的值。 | 2||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXIT_FAILURE | #這是 exit 函數失敗時要傳回的值。 | 3||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXIT_SUCCESS | 這是 exit 函數成功時要傳回的值。 | 4||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RAND_MAX | 這個巨集是 rand 函數傳回的最大值。 | 5||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MB_CUR_MAX | 這個巨集表示在多位元組字元集中的最大字元數,不能大於 MB_LEN_MAX。 |
序號 | 函數& 描述 |
---|---|
#1 | double atof(const char *str) 把參數str 所指向的字串轉換為一個浮點數(型別為double 型)。 |
2 | int atoi(const char *str) 把參數str 所指向的字串轉換成一個整數(型別為int 型)。 |
3 | long int atol(const char *str) 把參數str 所指向的字串轉換成一個長整數(類型為long int 型)。 |
4 | double strtod(const char *str, char **endptr) 把參數str 所指向的字串轉換為一個浮點數(類型為double 型)。 |
5 | long int strtol(const char *str, char **endptr, int base) 把參數str# 所指向的字串轉換為一個長整數(類型為long int 型)。 |
6 | unsigned long int strtoul(const char *str, char **endptr, int base) 把參數str 所指向的字串轉換為一個無符號長整數(型別為unsigned long int 型)。 |
7 | void *calloc(size_t nitems, size_t size) 分配所需的記憶體空間,並傳回一個指向它的指標。 |
8 | void free(void *ptr) 釋放之前呼叫calloc、malloc 或realloc 所分配的記憶體空間。 |
9 | void *malloc(size_t size) 分配所需的記憶體空間,並傳回一個指向它的指標。 |
10 | void *realloc(void *ptr, size_t size) 嘗試重新調整先前呼叫malloc 或calloc 所分配的ptr 所指向的記憶體區塊的大小。 |
11 | void abort(void) 使一個例外程式終止。 |
12 | int atexit(void (*func)(void)) 當程式正常終止時,呼叫指定的函數func。 |
13 | void exit(int status) 使程式正常終止。 |
14 | char *getenv(const char *name) 搜尋 name 所指向的環境字串,並傳回相關的值給字串。 |
15 | int system(const char *string) 由 string 指定的指令傳給要被指令處理器執行的主機環境。 |
16 | void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)) 執行二分查找。 |
17 | void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 數組排序。 |
18 | int abs(int x) 傳回 x 的絕對值。 |
19 | div_t div(int numer, int denom) 分子除以分母。 |
20 | long int labs(long int x) 傳回 x 的絕對值。 |
21 | ldiv_t ldiv(long int numer, long int denom) 分子除以分母。 |
22 | int rand(void) 傳回一個範圍在 0 到 RAND_MAX 之間的偽隨機數。 |
23 | void srand(unsigned int seed) 此函式播種由函數 rand 使用的隨機數產生器。 |
24 | int mblen(const char *str, size_t n) 傳回參數str 所指向的多位元組字元的長度。 |
25 | size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) 把參數str 所指向的多位元組字元的字串轉換為參數pwcs 所指向的陣列。 |
26 | int mbtowc(whcar_t *pwc, const char *str, size_t n) 檢查參數str 所指向的多位元組字元。 |
27 | size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) 把數組pwcs 中儲存的編碼轉換為多字節字符,並把它們儲存在字串str 中。 |
28 | int wctomb(char *str, wchar_t wchar) 檢查對應於參數wchar 所給的多位元組字符的編碼。 |