| 動態內存管理 | malloc(size_t size) | 分配未初始化內存塊 |
calloc(size_t n, size_t size) | 分配並歸零內存(n*size 字節) |
realloc(void *ptr, size_t size) | 調整已分配內存大小 |
free(void *ptr) | 釋放內存 |
aligned_alloc(size_t align, size_t size) | 對齊分配 (C17) |
| 程序控制 | exit(int status) | 正常終止進程,執行清理(atexit、刷新流) |
abort(void) | 異常終止,不執行清理,生成核心轉儲 |
atexit(void (*func)(void)) | 註冊退出時調用的函數(棧式) |
system(const char *cmd) | 調用宿主環境命令處理器執行命令 |
| 字符串轉換 | atoi/atol/atoll | 字符串轉 int/long/long long(無錯誤檢測) |
strtol/strtoul/strtoll | 健壯轉換,支持進制、錯誤指針、溢出檢測 |
strtod/strtof/strtold | 字符串轉 double/float/long double |
itoa/ltoa/ulltoa | 整數轉字符串(非標準,常見擴展) |
| 隨機數 | rand(void) | 生成偽隨機數 [0, RAND_MAX] |
srand(unsigned seed) | 設置隨機種子(常用 time(NULL)) |
random/rand_r | BSD/POSIX 可重入版本(非標準) |
| 搜索/排序 | qsort(void *base, size_t nmemb, size_t size, int(*cmp)(const void*,const void*)) | 快速排序(不穩定),通用比較函數 |
bsearch(const void *key, const void *base, size_t nmemb, size_t size, int(*cmp)(const void*,const void*)) | 二分查找(要求已排序) |
| 多字節/寬字符 | mblen/mbtowc/wctomb | 單字符轉換 |
mbstowcs/wcstombs | 字符串轉換 |
| 環境變量 | getenv(const char *name) | 獲取環境變量值 |
putenv/setenv/unsetenv | 設置/刪除環境變量 (POSIX) |
| 絕對值 | abs/labs/llabs | 整數絕對值 |
div/ldiv/lldiv | 商餘同時獲取 |