<assert.h>:void assert(int expression)。若表達式為假,輸出錯誤信息並調用 abort() 終止程序。發布版可定義 NDEBUG 禁用。
<ctype.h>:isalnum、isalpha、isdigit、islower、isupper、isspace、isxdigit 等測試函數;tolower、toupper 轉換函數。參數為 int(字符或 EOF),返回 int。
<errno.h>:errno 宏(可修改的左值)。常見錯誤碼:EDOM(定義域錯誤)、ERANGE(結果溢出)、EILSEQ(非法字符序列)。
<float.h>:FLT_DIG、DBL_DIG、LDBL_DIG(有效數字位);FLT_MAX、DBL_MAX、LDBL_MAX(最大值);FLT_EPSILON 等精度常量。前綴 FLT/DBL/LDBL 對應 float/double/long double。
<limits.h>:CHAR_BIT、INT_MIN、INT_MAX、LONG_MAX、ULLONG_MAX 等各類型範圍常量。
<locale.h>:setlocale(category, locale) 設置/查詢區域;localeconv() 返回 struct lconv 指針,包含貨幣、數字格式化信息(小數點、分組符號、貨幣符號等)。分類:LC_ALL、LC_CTYPE、LC_MONETARY、LC_NUMERIC、LC_TIME。
<math.h>:三角(sin/cos/tan/asin/acos/atan/atan2)、雙曲(sinh/cosh/tanh)、指數對數(exp/log/log10/pow/sqrt)、取整(ceil/floor/fmod/modf/frexp/ldexp)。均為 double 版本,C99 增加 f/l 後綴版。
<setjmp.h>:jmp_buf、setjmp(env) 保存上下文(返回 0),longjmp(env, val) 跳回(使 setjmp 返回 val)。用於深層嵌套錯誤恢復。
<signal.h>:signal(sig, handler) 註冊處理函數。常見信號:SIGINT(Ctrl+C)、SIGSEGV(段錯誤)、SIGFPE(浮點異常)、SIGTERM(終止請求)。處理函數簽名:void handler(int sig)。
<stdarg.h>:va_list、va_start(ap, last)、va_arg(ap, type)、va_end(ap)。實現類 printf 函數的基礎。
<stddef.h>:NULL、offsetof(type, member)、size_t、ptrdiff_t、wchar_t。
<stdio.h>:FILE、fpos_t、stdin/stdout/stderr、EOF、BUFSIZ。函數:文件操作(fopen/fclose/fread/fwrite/fseek/ftell/rewind)、格式化(printf/scanf/fprintf/fscanf/sprintf/sscanf/vfprintf/vprintf/vsprintf)、字符/行(fgetc/fgets/fputc/fputs/getchar/putchar/gets/puts/ungetc)、錯誤(perror/clearerr/feof/ferror)、臨時文件(tmpfile/tmpnam)。
<stdlib.h>:內存(malloc/calloc/realloc/free)、字符串轉換(atoi/atol/strtol/strtod/strtoul)、程序控制(abort/exit/atexit/system/getenv)、排序搜索(qsort/bsearch)、數學(abs/labs/div/ldiv/rand/srand)、多字節(mblen/mbstowcs/wcstombs 等)。
<string.h>:內存(memcpy/memmove/memset/memcmp/memchr)、字符串(strcpy/strncpy/strcat/strncat/strcmp/strncmp/strcoll/strchr/strrchr/strstr/strpbrk/strspn/strcspn/strtok/strlen/strerror/strxfrm)。
<time.h>:time_t、clock_t、struct tm。函數:time、clock、difftime、mktime、localtime/gmtime、asctime/ctime、strftime。
本手冊涵蓋 C99 標準庫核心功能,適合作為開發時的快速參考。