C 標準庫 – <stdlib.h>
C 標準庫 - <stdlib.h>
簡介
stdlib .h 標頭檔案定義了四個變數型別、一些巨集和各種通用工具函式。
庫變數
下面是標頭檔案 stdlib.h 中定義的變數型別:
序號 | 變數 & 描述 |
---|---|
1 | size_t 這是無符號整數型別,它是 sizeof 關鍵字的結果。 |
2 | wchar_t 這是一個寬字元常量大小的整數型別。 |
3 | div_t 這是 div 函式返回的結構。 |
4 | 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。 |
庫函式
下面是標頭檔案 stdlib.h 中定義的函式:
序號 | 函式 & 描述 |
---|---|
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 所給出的多位元組字元的編碼。 |