C 標準庫 – <stdlib.h>

C 標準庫 - <stdlib.h>

簡介

stdlib .h 標頭檔案定義了四個變數型別、一些巨集和各種通用工具函式。

庫變數

下面是標頭檔案 stdlib.h 中定義的變數型別:

序號變數 & 描述
1size_t
這是無符號整數型別,它是 sizeof 關鍵字的結果。
2wchar_t
這是一個寬字元常量大小的整數型別。
3div_t
這是 div 函式返回的結構。
4ldiv_t
這是 ldiv 函式返回的結構。

庫巨集

下面是標頭檔案 stdlib.h 中定義的巨集:

序號巨集 & 描述
1NULL
這個巨集是一個空指標常量的值。
2EXIT_FAILURE
這是 exit 函式失敗時要返回的值。
3EXIT_SUCCESS
這是 exit 函式成功時要返回的值。
4RAND_MAX
這個巨集是 rand 函式返回的最大值。
5MB_CUR_MAX
這個巨集表示在多位元組字符集中的最大字元數,不能大於 MB_LEN_MAX。

庫函式

下面是標頭檔案 stdlib.h 中定義的函式:

序號函式 & 描述
1double atof(const char *str)
把引數 str 所指向的字串轉換為一個浮點數(型別為 double 型)。
2int atoi(const char *str)
把引數 str 所指向的字串轉換為一個整數(型別為 int 型)。
3long int atol(const char *str)
把引數 str 所指向的字串轉換為一個長整數(型別為 long int 型)。
4double strtod(const char *str, char **endptr)
把引數 str 所指向的字串轉換為一個浮點數(型別為 double 型)。
5long int strtol(const char *str, char **endptr, int base)
把引數 str 所指向的字串轉換為一個長整數(型別為 long int 型)。
6unsigned long int strtoul(const char *str, char **endptr, int base)
把引數 str 所指向的字串轉換為一個無符號長整數(型別為 unsigned long int 型)。
7void *calloc(size_t nitems, size_t size)
分配所需的記憶體空間,並返回一個指向它的指標。
8void free(void *ptr)
釋放之前呼叫 calloc、mallocrealloc 所分配的記憶體空間。
9void *malloc(size_t size)
分配所需的記憶體空間,並返回一個指向它的指標。
10void *realloc(void *ptr, size_t size)
嘗試重新調整之前呼叫 malloccalloc 所分配的 ptr 所指向的記憶體塊的大小。
11void abort(void)
使一個異常程式終止。
12int atexit(void (*func)(void))
當程式正常終止時,呼叫指定的函式 func
13void exit(int status)
使程式正常終止。
14char *getenv(const char *name)
搜尋 name 所指向的環境字串,並返回相關的值給字串。
15int system(const char *string)
由 string 指定的命令傳給要被命令處理器執行的主機環境。
16void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
執行二分查詢。
17void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
陣列排序。
18int abs(int x)
返回 x 的絕對值。
19div_t div(int numer, int denom)
分子除以分母。
20long int labs(long int x)
返回 x 的絕對值。
21ldiv_t ldiv(long int numer, long int denom)
分子除以分母。
22int rand(void)
返回一個範圍在 0 到 RAND_MAX 之間的偽隨機數。
23void srand(unsigned int seed)
該函式播種由函式 rand 使用的隨機數發生器。
24int mblen(const char *str, size_t n)
返回引數 str 所指向的多位元組字元的長度。
25size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
把引數 str 所指向的多位元組字元的字串轉換為引數 pwcs 所指向的陣列。
26int mbtowc(whcar_t *pwc, const char *str, size_t n)
檢查引數 str 所指向的多位元組字元。
27size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
把陣列 pwcs 中儲存的編碼轉換為多位元組字元,並把它們儲存在字串 str 中。
28int wctomb(char *str, wchar_t wchar)
檢查對應於引數 wchar 所給出的多位元組字元的編碼。