索引
以下数字均为原书印刷页码。
符号与下划线
.L_AGAIN标签:216, 217.L_ELSE标签:216.L_END标签:217.L_NO标签:216.L_N_GT_0标签:217.L_STR_EQ标签:216, 217.L_STR_FRMT标签:216, 217.L_STR_NE标签:216, 217.L_YES标签:216__has_va_opt:383_Alignas:192, 266_Alignof:35, 36, 62, 192_BitInt:53, 73, 73, 92, 250_Bool:26, 49, 69_C词素:72_Complex:49_Exit函数:95, 135, 136, 256, 342, 344, 345_Generic:23, 285, 305, 310, 310–316, 319–321, 326_IOLBF宏:355_MAX词素:65, 72_MIN词素:72_Noreturn:98_Static_assert:110_Thread_local:208_WIDTH词素:72DATE宏:291FILE宏:180, 241, 242, 291LINE宏:180, 291, 291–294, 296, 315STDC_ENDIAN_BIG宏:186STDC_ENDIAN_LITTLE宏:186STDC_ENDIAN_NATIVE宏:186STDC_ISO_10646宏:232STDC_LIB_EXT1宏:109, 110, 110STDC_MB_MIGHT_NEQ_WC宏:232STDC_NO_ATOMICS宏:345, 382STDC_NO_COMPLEX宏:40, 40, 55, 382STDC_NO_THREADS宏:382STDC_NO_VLA宏:79, 251STDC_UTF_16宏:236, 236STDC_UTF_32宏:236, 236STDC_VERSION宏:103STDC_WANT_LIB_EXT1宏:109TIME宏:291VA_ARGS宏:213, 214, 293, 294, 294–297, 301–303, 312VA_OPT宏:294, 295, 301, 302, 312, 383func宏:291, 291–294, 296, 297, 315__has_c_attribute:110, 160, 160, 161, 382__has_embed:110, 241, 241__has_include:68, 68, 110, 241, 382__has_va_opt宏:383_explicit词素:377, 378, 380_num词素:113, 114_t词素:10, 72, 93, 121, 142, 228
A
abort函数:95, 135, 136, 137, 251, 256, 327, 341, 345abs函数:111, 111- 抽象表示(abstract representation):47
- 抽象状态(abstract state):44, 46, 47, 57, 70, 71, 77, 155, 156, 180, 183, 186, 187, 328, 370, 371
- 抽象状态机(abstract state machine):46
acos宏:113, 295acosh宏:113acospi宏:113- 获取-释放一致性(acquire-release consistency):376
- 地址(address):164, 164
- 地址空间(address space):183
AGAIN标签:211, 211, 215–217- 聚合数据类型(aggregate data type):77
ALEN:297- 别名(aliasing):187, 270
aligned_alloc函数:194, 195, 204, 208, 252- 对齐(alignment):90, 191
- 分配(allocation):194
- 动态分配(dynamic):194
and宏:35, 39, 39and_eq宏:36, 67- 附录 K(Annex K):109, 109, 117, 122, 123, 134
- API:106, 142, 144
- 应用程序接口(application programming interface):106
- 实参列表(argument list):285
- 可变长度(variable):97
- 实参(arguments):4
- 数组(array):11
- 定长(constant-length):79
- 多维(multidimensional):78
- 变长(variable-length):79
- 数组索引(array index):14
ASCEND标签:329, 331, 334asctime函数:131, 131asin宏:113asinh宏:113asinpi宏:113- 汇编器(assembler):215
- 汇编(assembly):215
- 汇编语言(assembly language):4
assert宏:99, 100, 136, 137, 137, 157, 168, 172<assert.h>:100, 107, 110, 136- 赋值(assignment):10
at_quick_exit函数:136, 136, 177, 344, 345, 357, 369, 374atan宏:113atan2宏:113atan2pi宏:113atanh宏:113atanpi宏:113atexit函数:21, 136, 136, 177, 244, 355, 357, 365, 369, 374- 原子访问(atomic access):353
- 原子说明符(atomic specifier):354
atomic_compare_exchange_strong函数:377atomic_compare_exchange_strong_explicit函数:379atomic_compare_exchange_weak函数:373, 377, 378atomic_compare_exchange_weak_explicit函数:379atomic_exchange函数:373, 377atomic_fetch_add函数:377, 378atomic_fetch_add_explicit函数:377atomic_fetch_and函数:377atomic_fetch_or函数:377atomic_fetch_sub函数:377atomic_fetch_xor函数:377atomic_flag类型:250, 328, 345, 349, 370, 373, 377, 378atomic_flag_clear函数:377, 378atomic_flag_test_and_set函数:373, 377, 378atomic_init函数:377atomic_load函数:377, 378ATOMIC_LONG_LOCK_FREE宏:347, 348, 348atomic_store函数:377, 378- 属性(attribute):9, 10, 159
deprecated:20, 131, 131, 159, 159, 199–201, 203, 382fallthrough:128, 129, 159, 159, 279maybe_unused:3, 9–11, 14, 16, 119, 159, 160, 168, 168, 206, 250, 287nodiscard:158, 159, 160, 198, 199, 201noreturn:98, 98, 135, 159, 160, 244, 327, 336, 345, 366- 带前缀(prefixed):160
reproducible:159, 160, 266, 271, 272, 272, 273, 278, 279, 283, 385- 标准属性(standard):159
unsequenced:99–101, 104, 150, 151, 156–159, 160, 171, 172, 205, 254, 266, 271, 271–273, 283, 311, 332, 385
auto:80, 111, 164, 165, 208, 209, 209, 210, 305, 317, 317–319, 322–324, 326, 358
B
- 基本多文种平面(basic multilingual plane):236
basic_blocks.ceofOut:335execution:335interrupted:335plusL:335plusR:335tooDeep:335
basic_blocks类型:330, 336, 338–340, 343- 行为(behavior):5
- 已定义行为(defined):35, 37, 71, 188, 212, 213, 331, 355, 356
- 未定义行为(undefined):70, 70, 71, 82, 85, 120, 121, 165, 169, 170, 187, 189, 190, 207, 212, 244, 270, 341, 353
- 二进制代码(binary code):4
- 二进制模式 IO(binary mode IO):239
- 二进制表示(binary representation):47, 65
- 位(bit):66
- 最低有效位(least significant):66
- 置位的最低有效位(least significant set):66
- 最高有效位(most significant):66
- 置位的最高有效位(most significant set):66
- 符号位(sign):69
- 位填充(bit padding):91
- 位域(bit-field):91
bitand宏:35, 67BITINT_MAXWIDTH宏:73, 73bitor宏:35, 67- 块(block):13, 209
- 基本块(basic):327
- 嵌套块(nested):13
- 外层块(primary):13, 21
- 内层块(secondary):13, 23, 334
- 块闭包(block closure):322
- 边界核验接口(bounds-checking interfaces):109
break:28bsearch宏:179, 308, 309- 缓冲区溢出(buffer overflow):109
- 缓冲 IO(buffered IO):118
- 总线错误(bus error):191
- 字节填充(byte padding):90
- 字节(bytes):183
- 拜占庭故障(byzantine fault):71
C
- C 库(C library):16, 106
- 头文件(header)
<assert.h>:100, 107, 110, 136<c23-fallback.h>:382<complex.h>:40, 55, 107, 141, 271, 309, 382<ctype.h>:107, 125<errno.h>:107, 233, 257<fenv.h>:107, 245<float.h>:66, 74, 107, 245<inttypes.h>:107, 386<iso646.h>:39, 67, 107<limits.h>:65, 66, 71, 73, 107<locale.h>:107, 135<math.h>:107, 113, 167, 245, 271, 309, 387<setjmp.h>:107, 336<signal.h>:107, 341, 342<stdalign.h>:107, 192<stdarg.h>:107, 287, 298<stdargs.h>:97<stdatomic.h>:107, 309, 345, 382, 383<stdbit.h>:68, 107, 112, 143, 186, 382, 387<stdbool.h>:24, 66, 69, 107<stdckdint.h>:107, 112, 382, 387<stddef.h>:51, 107, 168<stdint.h>:34, 51, 65, 66, 72, 107, 386<stdio.h>:12, 30, 107, 108, 115<stdlib.h>:12, 29, 107, 111, 117, 177, 194–196, 309, 355<stdnoreturn.h>:107<string.h>:81, 107, 129, 309<tgmath.h>:28, 40, 55, 75, 107, 113, 271, 284, 309, 310<threads.h>:107, 350, 355, 357, 358, 382, 383<time.h>:51, 86, 88, 107, 130, 142<uchar.h>:107<wchar.h>:107, 230, 309<wctype.h>:107, 233
- 头文件(header)
- C 修订版(C revision)
- C11:79, 109, 231, 236, 266, 305, 309, 310, 313, 345, 350, 355
- C17:5, 129, 313
- C23:5, 22, 24, 26, 27, 31, 47, 51, 54, 57–60, 62–64, 68, 69, 72, 73, 79, 82, 83, 92, 96, 98, 110–114, 129–131, 133, 143, 146, 147, 158–161, 169, 170, 177, 179, 186, 192, 195, 199, 208, 209, 213, 222, 224, 227, 228, 236, 237, 240, 245, 250, 251, 266, 272, 294, 297, 299, 305, 309, 313, 317, 318, 320–322, 340, 355, 381–383, 385–387
- C89:266
- C99:79, 129, 266–268, 309
- C11:79, 109, 231, 236, 266, 305, 309, 310, 313, 345, 350, 355
c16rtomb函数:237- C17:5, 129, 313
- C23:5, 22, 24, 26, 27, 31, 47, 51, 54, 57–60, 62–64, 68, 69, 72, 73, 79, 82, 83, 92, 96, 98, 110–114, 129–131, 133, 143, 146, 147, 158–161, 169, 170, 177, 179, 186, 192, 195, 199, 208, 209, 213, 222, 224, 227, 228, 236, 237, 240, 245, 250, 251, 266, 272, 294, 297, 299, 305, 309, 313, 317, 318, 320–322, 340, 355, 381–383, 385–387
<c23-fallback.h>:382<c23-fallback.h>:160c32rtomb函数:237, 387- C89:266
c8rtomb函数:237, 387- C99:79, 129, 266–268, 309
- 调用(call):3
- 叶调用(leaf):102
- 按引用调用(call by reference):15
- 按值调用(call by value):15
call_once函数:355, 355, 356, 369, 374calloc函数:194, 195, 204, 205, 208, 213, 250, 252, 264- 驼峰命名法(Camel case):143
canonicalize函数:113carg函数:115case:30- 强制转换(cast):20, 196, 290
- 强制转换(casts):189
cbrt宏:113ceil宏:113char16_t类型:236char32_t类型:236char8_t类型:236–238CHAR_BIT宏:91, 185, 186, 186, 250CHAR_MAX宏:66, 313CHAR_MIN宏:66- 字符集(character set)
- 基本字符集(basic):81
cimag宏:75, 191circular:197circular_append:197circular_delete:198circular_destroy:198circular_element:197circular_getlength:199circular_init:197circular_new:198circular_pop:197circular_resize:198ckd_add宏:111, 112ckd_mul宏:111ckd_sub宏:111- CLA:见定长数组(constant-length array)
CLEANUP标签:259, 260clock函数:51, 108, 133, 133clock_t类型:51, 133CLOCKS_PER_SEC宏:51, 133CMPLX宏:40, 55CMPLXF宏:55CMPLXL宏:55cnd_broadcast函数:363, 363, 364, 375, 376cnd_destroy函数:252, 364cnd_init函数:252, 364cnd_signal函数:358–361, 363, 363, 364, 375, 376cnd_t类型:358, 361, 361, 363, 363, 364, 364, 366, 367, 369cnd_timedwait函数:361, 363, 363, 367, 374, 375cnd_wait函数:363, 363, 364, 367, 374, 375- 代码因子分解(code factorization):95
- 代码路径(code path):23
- 码点(code point):231, 236
code/analyze-utf8.c:237–239code/B9-detach.c:364, 365code/B9.c:351, 352, 362, 363code/basic_blocks.c:336, 342code/c23-fallback.h:160, 382, 385code/circular.c:200–202, 204code/circular.h:199code/crash.c:191code/embed.c:241code/endianness.c:185, 189code/euclid.h:99, 100code/fibonacci.c:101code/fibonacci2.c:104code/fibonacciCache.c:103code/fp_except.c:245, 246code/generic.h:300–303, 319code/getting-started.c:3, 9, 13–16code/heron.c:98code/heron_k.h:150code/life.c:361code/life.h:353, 358code/lifetime-assembler.s:215code/lifetime-optimized.s:217code/lifetime.c:211code/macro_trace.c:288, 291, 292, 294, 295code/macro_trace.h:293, 296code/mbstrings-main.c:228, 229code/mbstrings.c:232–235code/mbstrings.h:232, 236code/numberline.c:220–225, 257, 258code/rationals.c:156, 157, 171, 172code/rationals.h:156code/sequence_point.c:331code/sighandler.c:346, 347code/sighandler.h:347, 348code/strtoul.c:126, 127code/swap.c:317, 319, 322, 324code/swap.cpp:323code/swap.m:322code/timespec.c:276, 277, 280code/yday.c:86, 87, 96- 编码错误(coding error):233
- 编码风格(coding style):24
- 逗号运算符(Comma operators):155
- 注释(comment):9
- 已编译(compiled):4
- 编译器(compiler):4, 5
- 编译器输出(compiler output):5
compl函数:35, 67complex宏:40, 49, 50, 55, 55, 56, 63, 191, 192- 复数点(complex point)
- 实部(real):48
<complex.h>:40, 55, 107, 141, 271, 309, 382- 复合表达式(compound expression):322
- 复合字面量(compound literals):194
compoundn宏:113const限定符(const qualifier):59- 违反约束(constraint violation)
- 运行时(runtime):258
- 消费一致性(consume consistency):379
continue:28, 28, 153, 238, 358- 控制流(control flow):16, 95, 135, 153, 260, 267, 285, 327, 327, 328, 331, 333, 334, 337, 344, 350, 365, 370
- 控制语句(control statements):23
- 控制表达式(controlling expression):24
- 转换(conversion):55, 97
- 隐式转换(implicit):55, 290
- 返回值转换(return value):97
copysign宏:113- 鸦科鸟(corvid)
- 红嘴山鸦(chough):61, 263
- 松鸦(jay):61, 139
- 喜鹊(magpie):1, 61
- 渡鸦(raven):19, 61
cos宏:32, 113, 309cosf函数:306, 309cosh宏:113cosl函数:309cospi宏:113creal宏:75, 115, 191- 临界(critical)
- 数据(data):358
- 区段(section):358
- 临界区(critical section):328
ctime函数:131<ctype.h>:107, 125
D
dadd宏:113- 悬空
else(dangling else):154 - 数据(data):44, 46
- 数据类型(data type)
- 聚合(aggregate):77
- 派生(derived):77
DBL_MANT_DIG宏:74DBL_MAX宏:66, 74, 313, 314DBL_MAX_EXP宏:74, 151DBL_MIN宏:66, 74DBL_MIN_EXP宏:74, 151ddiv宏:113- 退化(decay):175
- 声明(declaration):10
default:30- 默认初始化器(default initializer):58
DEFAULT编译指示:301, 302DEFAULT1:301DEFAULT2:302DEFAULT3:302- 已定义(defined):10
defined:110, 160, 241- 已定义行为(defined behavior):35, 37, 71, 188, 212, 213, 331, 355, 356
- 已定义状态(defined state):35, 37, 71, 188, 213, 331, 355, 356
- 定义(definition):10, 13, 13
deprecated属性:20, 131, 131, 159, 159, 199–201, 203, 382- 解引用(dereference):164
- 派生数据类型(derived data type):77
descend类型:329–331, 334–340, 344- 指派(designated):14
- 分离(detach):365
- 诊断(diagnostic):5
difftime函数:51, 88, 130, 130, 131- 数字分隔符(digit separator):22
- 指令(directive):9
- 处置(disposition):341
div函数:111, 111dmul宏:114do:27- 范围(domain):15
- 范围错误(domain error):40
draw_sep:229dsub宏:114
E
eax硬件寄存器:215–217ebp硬件寄存器:217ebx硬件寄存器:217ecx硬件寄存器:215–217edi硬件寄存器:215–217EDOM宏:257edx硬件寄存器:215–217EFAULT宏:257–259- 效果(effect):370
- 可见效果(visible):373
- 有效类型(effective type):179, 183, 190, 190, 192, 196
EILSEQ宏:233, 257EINVAL宏:128elif:23, 110elifdef:23, 110elifndef:23, 110else:23embed:240, 241, 241, 243, 385enable_alignment_check:192end_line类型:329, 336- 字节序(endian)
- 大端(big):186
- 小端(little):184, 186
- 字节序(endianness):186
ENOMEM宏:257–259- 入口点(entry point):215
- 枚举(enumeration):60
- 环境列表(environment list):134
- 环境对象(environment variable):134
EOF宏:108, 108, 109, 115, 115, 116, 123, 124, 124, 220, 257, 258, 260, 336, 358, 372eofOutbasic_blocks.c:335
eofOut标签:335, 336, 337EOVERFLOW宏:257–260- 纪元(epoch):131
ERANGE宏:127, 257erf宏:113erfc宏:113errno宏:108, 108, 109, 124, 127, 128, 136, 153, 232–234, 256–259, 272, 343<errno.h>:107, 233, 257errno_t类型:117, 134error:40, 40, 68, 109, 110, 236, 257, 258, 301, 302- 转义字符(escape characters):4
esi硬件寄存器:215–217- 求值(evaluation)
- 不确定顺序的(indeterminately sequenced):332
- 未定序的(unsequenced):331
- 精确宽度整数类型(exact-width integer types):72
- 异常状况(exceptional condition):245
- 异常浮点状况(exceptional floating-point conditions):245
- 可执行程序(executable):4, 5
- 执行(execute):5
- 执行(execution)
basic_blocks.c:335
execution标签:335EXIT_FAILURE宏:98, 98, 108, 116, 118, 122, 124, 220, 239, 300, 342EXIT_SUCCESS宏:3, 10–12, 14, 16, 22, 29, 63, 98, 98, 116, 118, 122, 124, 239exp宏:113exp2宏:113expm1宏:113- 表达式(expression):34
- 控制表达式(controlling):23
- 整数常量表达式(integer constant):61
- 扩展字符(extended character):228
extern:60, 96, 178, 180, 206, 206–209, 272, 273, 287, 347, 354, 355
F
fabs宏:27, 28, 113, 115, 310fabsf函数:310fabsl函数:310fadd宏:113- 失效(failure)
- 程序失效(program):82, 85, 120, 165, 169, 170, 270, 353
fallthrough属性:128, 129, 159, 159, 279fclose函数:108, 117, 117, 118, 124, 242, 252, 356fdim宏:113fdiv宏:113FE_ALL_EXCEPT宏:246, 247FE_DIVBYZERO宏:245, 246, 246FE_INEXACT宏:246, 246FE_INVALID宏:246, 246FE_OVERFLOW宏:246, 246FE_TONEAREST宏:271, 272FE_UNDERFLOW宏:246, 246feclearexcept函数:246, 247fenv编译指示:272<fenv.h>:107, 245FENV_ROUND编译指示:271, 272, 272feof函数:123, 124, 359, 372fetestexcept函数:246, 246fflush函数:117, 117–119, 191, 337, 356fgetc函数:123, 123, 124, 239fgetline:223fgetpos函数:108fgets函数:123, 123, 124, 223, 224, 237, 238, 243, 329fgoto标签:215–217fgoto宏:211- 斐波那契数(Fibonnacci numbers):100
- 文件位置(file position):240
FILE类型:115, 115–117, 120, 122–124, 223, 224, 240, 241, 257–259, 270, 296, 299, 355, 356- FLA:205
- 柔性数组成员(flexible array member):205, 249
<float.h>:66, 74, 107, 245- 浮点(floating-point):48, 50, 52, 54–56, 74, 75, 96, 106, 121, 122, 127, 149, 186, 227, 279, 310
- 乘加(multiply add):115
- 实数(real):48
floor宏:113FLT_RDXRDX:151FLT_MAX宏:313, 314FLT_RADIX宏:114, 151- 刷新流(flushing a stream):118
fma宏:114, 115fmax宏:113fmaximum宏:113fmaximum_mag宏:113fmin宏:114fminimum宏:114fminimum_mag宏:114fmod宏:114fmul宏:114fopen函数:108, 116, 116–118, 124, 241, 252, 355, 356FOPEN_MAX宏:252fopen_s函数:117for:26- 格式(format):3, 4
- 格式说明符(format specifiers):3
- 前置声明(forward declaration):92
FP_CONTRACT编译指示:271, 272, 272fpclassify宏:114fprintf_s函数:122fprintnumbers:257fputc函数:115, 115, 116, 119, 191, 229, 239, 296fputs宏:115, 115, 116, 118, 119, 123, 124, 136, 229, 239, 258–260, 270, 295, 329, 356, 362fread函数:240, 240, 241, 243free函数:194, 195, 196, 198, 200, 204, 208, 220, 221, 249, 258–260freopen函数:116, 117, 117, 118, 122, 252freopen_s函数:117frexp宏:114, 115fromfp函数:114fscanf函数:226fseek函数:240, 240fsetpos函数:108fsub宏:114ftell函数:240, 240- 函数(function):3, 4, 10, 14
- 异步信号安全(asynchronous signal safe):345
- 纯函数(pure):155, 269
- 递归函数(recursive):99
- 可变实参函数(variadic):297
- 函数实参(function argument):3, 15
- 函数体(function body):10
- 函数调用(function call):15
- 函数形参(function parameters):136
- 函数指针(function pointer):21, 136
- 函数(function):177
fwrite函数:240, 240, 242, 243
G
getc函数:220getchar函数:123, 123, 358getenv函数:134, 134, 138getenv_s函数:134, 134gets函数:123gets_s函数:123, 123- 全局项(globals):13, 144
- 字形(glyph):231
gmtime函数:131gmtime_r函数:131, 131, 387- 最大公约数(greatest common divisor):99
H
- 处理程序(handlers):136
- “先于”关系(happened before):371, 373
- “先于”关系(happened-before relation):354
- 硬件寄存器(hardware register)
eax:215–217;ebp:217;ebx:217;ecx:215–217;edi:215–217;edx:215–217;esi:215–217r12:280, 281;r13:281;r14:280;rax:215, 216, 280, 281;rbp:215–217;rbx:217, 281;rcx:215;rdi:279, 280;rdx:215, 216;rip:279, 281;rsp:215–218, 280xmm0:279, 280;xmm1:279, 280;xmm2:279, 280;xmm3:279, 280;xmm4:280
- 头文件(header):107
- 头文件(header files):12, 150
- 堆(heap):252
heron:151- Heron 近似(Heron approximation):27
- 历史接口(historic interfaces):28, 48, 51, 60, 68, 69, 88, 92, 108, 115, 124, 125, 133, 184, 222, 327, 339
- 匈牙利命名法(Hungarian notation):143
hypot宏:114
I
I宏:55, 56, 75, 141, 191, 301- ICE:61, 64, 79
- 标识符(identifier):10, 12
- 保留标识符(reserved):142
if:23ifdef:23, 40, 40, 110, 232, 245, 246, 246, 289, 342, 346, 347, 382ifndef:23, 110, 151, 158, 161, 232, 257, 382, 385ilogb宏:114- 命令式(imperative):2
- 命令式程序设计(imperative programming):2
- 实现定义的(implementation defined):49
- 实现定义的(implementation-defined):56, 186
- 包含文件(include files):12
- 包含防护(include guards):152
- 不确定表示(indeterminate representation):250
- 索引(indices):11
- 不可分割(indivisible):345
INFINITY宏:245, 245, 246- 初始化(initialization):10, 13
- 初始化器(initializer):13, 14, 57, 58, 63, 79, 85, 87, 155, 208, 213, 297, 298, 333
- 默认(default):58
- 指派(designated):58, 78, 347
- 内联(inlining):267, 268, 311
- 实例(instance):194
INT128_C宏:72int128_t类型:72, 73, 386, 388INT128_WIDTH宏:72int16_t类型:72int32_t类型:72, 184INT64_C宏:72int64_t类型:72, 72INT8_C宏:72int8_t类型:72INT8_WIDTH宏:72int_fast词素:121, 228int_least词素:121, 228INT_MAX宏:56, 56, 66, 71, 112, 178, 255, 257–260, 292, 313, 314INT_MIN宏:66, 71, 112, 245INT_WIDTH宏:57- 整数(integer)
- 无符号(unsigned):34
- 整数转换等级(integer rank):49, 69
- 整数(integers)
- 有符号(signed):48
- 无符号(unsigned):48
- 中断(interrupt)
- 处理程序(handler):340
- 硬件中断(hardware):340
- 软件中断(software):340
- 中断向量(vector):340
interruptedbasic_blocks.c:335
interrupted标签:329, 335, 336, 337intmax_t类型:51, 121, 127, 228, 240, 386<inttypes.h>:107, 386iodebug:299is词素:257, 258is_array宏:384is_const宏:321, 383is_const_target宏:321, 383is_fla宏:384is_null_pointer_constant宏:317, 383is_pointer宏:384is_pointer_nvla宏:384is_pointer_vla宏:384is_potentially_negative宏:321, 383is_void宏:321is_void_pointer宏:384is_void_target宏:321is_volatile宏:321, 383is_volatile_target宏:321, 383is_zero_ice宏:317, 321, 383isalnum函数:125, 125isalpha函数:125, 125isblank函数:125, 125iscntrl函数:125, 125iscompatible宏:383iscomplex宏:383isdecimalfloating宏:383isdigit函数:125, 125, 126isfinite宏:114isfloating宏:383isgraph函数:125, 125isice宏:311, 312, 317, 321, 384isimaginary宏:383isinf宏:114, 167isinteger宏:321, 383isless宏:144islower函数:125, 125isnan宏:114isnormal宏:114<iso646.h>:39, 67, 107isprint函数:125, 125ispunct函数:125, 125issigned宏:321, 383isspace函数:125, 125isstandardfloating宏:383isstandardrealfloating宏:383isunsigned宏:321, 383isupper函数:125, 125, 126isvla宏:321, 384isxdigit函数:125, 125isxwide宏:384- 迭代范围(iteration domain):15
J
- 行话(jargon):2
jmp_buf类型:329, 336, 336–340- 汇合(join):351
- 跳转(jump):2, 211, 260, 327, 333, 334
- 长跳转(long):260, 263, 327, 328, 335, 338, 370
- 短跳转(short):31, 261, 328, 370
- 目标(target):31, 336
K
- 关键字(keyword):9, 10, 48
_Alignas:192, 266;_Alignof:35, 36, 62, 192;_BitInt:53, 73, 73, 92, 250;_Bool:26, 49, 69;_Complex:49_Generic:23, 285, 305, 310, 310–316, 319–321, 326;_Noreturn:98;_Static_assert:110;_Thread_local:208__has_c_attribute:110, 160, 160, 161, 382;__has_embed:110, 241, 241;__has_include:68, 68, 110, 241, 382auto:80, 111, 164, 165, 208, 209, 209, 210, 305, 317, 317–319, 322–324, 326, 358break:28;case:30;continue:28, 28, 153, 238, 358;default:30;defined:110, 160, 241;do:27elif:23, 110;elifdef:23, 110;elifndef:23, 110;else:23;embed:240, 241, 241, 243, 385;error:40, 40, 68, 109, 110, 236, 257, 258, 301, 302extern:60, 96, 178, 180, 206, 206–209, 272, 273, 287, 347, 354, 355;for:26;if:23ifdef:23, 40, 40, 110, 232, 245, 246, 246, 289, 342, 346, 347, 382;ifndef:23, 110, 151, 158, 161, 232, 257, 382, 385pragma:204, 241, 271, 272;register:209;return:97;static:209;static_assert:110, 110, 126, 136, 319;switch:30thread_local:208, 209, 299, 357, 369;warning:110, 232, 385;while:27
- “已知先于”关系(knowingly happened before):371
L
- 标签(label):211, 215, 327, 333
.L_AGAIN:216, 217;.L_ELSE:216;.L_END:217;.L_NO:216;.L_N_GT_0:217;.L_STR_EQ:216, 217;.L_STR_FRMT:216, 217;.L_STR_NE:216, 217;.L_YES:216AGAIN:211, 211, 215–217;ASCEND:329, 331, 334;CLEANUP:259, 260;eofOut:335, 336, 337;execution:335;fgoto:215–217interrupted:329, 335, 336, 337;left:329, 331, 334, 337;NEW_LINE:329–331, 334;plusL:329, 335, 335, 337–339;plusR:329, 335, 336, 337;right:329, 331, 334, 337;tooDeep:329, 335, 335, 337, 338
labs函数:111LC_ALL宏:135, 229LC_COLLATE宏:135LC_CTYPE宏:135, 237LC_MONETARY宏:135LC_NUMERIC宏:135LC_TIME宏:135LDBL_MAX宏:313, 314ldexp宏:114, 115ldiv函数:111left标签:329, 331, 334, 337lgamma宏:114- 库(library):207
- 常量(constant)
memory_order_acq_rel:377, 378, 378;memory_order_acquire:378, 378;memory_order_consume:370, 378, 378;memory_order_relaxed:378, 378;memory_order_release:378, 378;memory_order_seq_cst:378, 378mtx_plain:359;mtx_recursive:359, 360;mtx_timed:359
- 函数(function)
_Exit:95, 135, 136, 256, 342, 344, 345;abort:95, 135, 136, 137, 251, 256, 327, 341, 345;abs:111, 111;aligned_alloc:194, 195, 204, 208, 252asctime:131, 131;at_quick_exit:136, 136, 177, 344, 345, 357, 369, 374;atexit:21, 136, 136, 177, 244, 355, 357, 365, 369, 374atomic_compare_exchange_strong:377;atomic_compare_exchange_strong_explicit:379;atomic_compare_exchange_weak:373, 377, 378;atomic_compare_exchange_weak_explicit:379atomic_exchange:373, 377;atomic_fetch_add:377, 378;atomic_fetch_add_explicit:377;atomic_fetch_and:377;atomic_fetch_or:377;atomic_fetch_sub:377;atomic_fetch_xor:377atomic_flag_clear:377, 378;atomic_flag_test_and_set:373, 377, 378;atomic_init:377;atomic_load:377, 378;atomic_store:377, 378c16rtomb:237;c32rtomb:237, 387;c8rtomb:237, 387;call_once:355, 355, 356, 369, 374;calloc:194, 195, 204, 205, 208, 213, 250, 252, 264;canonicalize:113;carg:115clock:51, 108, 133, 133;cnd_broadcast:363, 363, 364, 375, 376;cnd_destroy:252, 364;cnd_init:252, 364;cnd_signal:358–361, 363, 363, 364, 375, 376;cnd_timedwait:361, 363, 363, 367, 374, 375;cnd_wait:363, 363, 364, 367, 374, 375compl:35, 67;cosf:306, 309;cosl:309;ctime:131;difftime:51, 88, 130, 130, 131;div:111, 111;fabsf:310;fabsl:310fclose:108, 117, 117, 118, 124, 242, 252, 356;feclearexcept:246, 247;feof:123, 124, 359, 372;fetestexcept:246, 246;fflush:117, 117–119, 191, 337, 356fgetc:123, 123, 124, 239;fgetpos:108;fgets:123, 123, 124, 223, 224, 237, 238, 243, 329;fopen:108, 116, 116–118, 124, 241, 252, 355, 356;fopen_s:117;fprintf_s:122fputc:115, 115, 116, 119, 191, 229, 239, 296;fread:240, 240, 241, 243;free:194, 195, 196, 198, 200, 204, 208, 220, 221, 249, 258–260freopen:116, 117, 117, 118, 122, 252;freopen_s:117;fromfp:114;fscanf:226;fseek:240, 240;fsetpos:108;ftell:240, 240;fwrite:240, 240, 242, 243getc:220;getchar:123, 123, 358;getenv:134, 134, 138;getenv_s:134, 134;gets:123;gets_s:123, 123;gmtime:131;gmtime_r:131, 131, 387isalnum:125, 125;isalpha:125, 125;isblank:125, 125;iscntrl:125, 125;isdigit:125, 125, 126;isgraph:125, 125;islower:125, 125;isprint:125, 125;ispunct:125, 125;isspace:125, 125;isupper:125, 125, 126;isxdigit:125, 125labs:111;ldiv:111;llabs:111;lldiv:111;localeconv:135;localtime:131;localtime_r:131, 131, 387longjmp:95, 249, 260, 327–329, 335, 335, 336, 336–340, 344, 346, 349;main:6;mblen:232, 233;mbrtoc16:237;mbrtoc32:237, 387;mbrtoc8:237–239, 387;mbrtowc:234, 237;mbsrtowcs:232, 233memccpy:387;memcmp:81, 82, 83, 241, 242;memcpy:81, 82, 82, 83, 195, 203, 225, 227, 249, 259, 270, 285, 286;memmove:203, 270;memset:103;mktime:108, 130, 130, 131mtx_destroy:252, 359, 360;mtx_init:252, 359, 360;mtx_lock:308, 358, 358–362, 364, 366, 370, 374, 375;mtx_timedlock:359, 359, 374;mtx_trylock:359, 359, 374;mtx_unlock:308, 358, 358–362, 364, 374, 375nan:114;perror:108, 108, 109, 116, 118, 122, 124, 136;powf:319;powl:319, 320;pownf:319;pownl:319, 320;printf:6;printf_s:109, 122qsort:177, 178, 179, 181, 308, 309;quick_exit:95, 135, 136, 256, 342, 344, 345, 357;raise:95, 337, 342, 343;rand:355;realloc:194, 195, 202–204, 208, 222, 223, 252, 259;remove:119, 252;rename:119scalbln:114;scanf:226, 226–228, 243, 249, 293, 386, 387;setjmp:95, 253, 260, 327, 336, 336–340, 344, 346, 349;setlocale:135, 135, 228, 229, 237–239;setvbuf:355;signal:253, 328, 342, 342, 343, 345snprintf:106, 160, 225, 226, 258, 265, 287, 311, 312, 355;sprintf:224, 225, 259;srand:355;sscanf:226strcmp:82, 82, 83, 144, 175;strcoll:82, 83, 135;strcpy:82, 83, 175, 195, 230;strcspn:82, 83, 129, 222, 227;strdup:82, 83, 195, 195, 252, 387;strftime:130, 131, 132, 132, 133, 135, 387strlen:21, 82, 82, 83, 95, 175, 195, 220, 225, 230, 232, 258, 259;strndup:82, 83, 195, 195, 252, 387;strspn:82, 83, 128, 129, 222, 227, 232strtod:29, 98, 99, 106, 108, 126, 129, 227, 243, 247, 300, 301;strtof:126, 301;strtoimax:126;strtok:129;strtol:126, 129, 227, 303;strtold:126, 301;strtoll:126, 303;strtoul:126, 127, 129, 221, 227, 300, 301, 303;strtoull:126, 129, 130, 221, 222, 303, 365;strtoumax:126;strxfrm:135thrd_create:108, 252, 328, 350, 351, 351, 352, 365, 374;thrd_current:365, 366;thrd_detach:252, 365, 365, 366, 369;thrd_equal:366;thrd_exit:256, 328, 365, 365, 366, 374;thrd_join:252, 350–353, 370, 374;thrd_sleep:366, 366;thrd_yield:366, 366time:51, 89, 130, 130, 131, 133, 133, 151, 355;timegm:131, 387;timespec_get:130, 131, 133, 133, 274, 276, 277, 280, 281, 361;timespec_getres:130, 133;tmpfile:252;tolower:125;toupper:125, 126tss_create:252, 357, 369;tss_delete:252, 357;tss_get:357;tss_set:357;ufromfp:114;ungetc:352, 358, 371;va_arg:298, 300;va_copy:252, 298;va_end:252, 287, 298, 299, 300;va_start:252, 287, 298, 299, 300;vfprintf:299;vsnprintf:287;wcrtomb:237
- 宏(macro)
_IOLBF:355;DATE:291;FILE:180, 241, 242, 291;LINE:180, 291, 291–294, 296, 315STDC_ENDIAN_BIG:186;STDC_ENDIAN_LITTLE:186;STDC_ENDIAN_NATIVE:186;STDC_ISO_10646:232;STDC_LIB_EXT1:109, 110, 110;STDC_MB_MIGHT_NEQ_WC:232STDC_NO_ATOMICS:345, 382;STDC_NO_COMPLEX:40, 40, 55, 382;STDC_NO_THREADS:382;STDC_NO_VLA:79, 251;STDC_UTF_16:236, 236;STDC_UTF_32:236, 236;STDC_VERSION:103;STDC_WANT_LIB_EXT1:109TIME:291;VA_ARGS:213, 214, 293, 294, 294–297, 301–303, 312;VA_OPT:294, 295, 301, 302, 312, 383;func:291, 291–294, 296, 297, 315;__has_va_opt:383acos:113, 295;acosh:113;acospi:113;and:35, 39, 39;and_eq:36, 67;asin:113;asinh:113;asinpi:113;assert:99, 100, 136, 137, 137, 157, 168, 172atan:113;atan2:113;atan2pi:113;atanh:113;atanpi:113;ATOMIC_LONG_LOCK_FREE:347, 348, 348;bitand:35, 67;BITINT_MAXWIDTH:73, 73;bitor:35, 67;bsearch:179, 308, 309cbrt:113;ceil:113;CHAR_BIT:91, 185, 186, 186, 250;CHAR_MAX:66, 313;CHAR_MIN:66;cimag:75, 191;ckd_add:111, 112;ckd_mul:111;ckd_sub:111;CLOCKS_PER_SEC:51, 133;CMPLX:40, 55;CMPLXF:55;CMPLXL:55complex:40, 49, 50, 55, 55, 56, 63, 191, 192;compoundn:113;copysign:113;cos:32, 113, 309;cosh:113;cospi:113;creal:75, 115, 191dadd:113;DBL_MANT_DIG:74;DBL_MAX:66, 74, 313, 314;DBL_MAX_EXP:74, 151;DBL_MIN:66, 74;DBL_MIN_EXP:74, 151;ddiv:113;dmul:114;dsub:114EDOM:257;EFAULT:257–259;EILSEQ:233, 257;EINVAL:128;ENOMEM:257–259;EOF:108, 108, 109, 115, 115, 116, 123, 124, 124, 220, 257, 258, 260, 336, 358, 372;EOVERFLOW:257–260;ERANGE:127, 257;erf:113;erfc:113;errno:108, 108, 109, 124, 127, 128, 136, 153, 232–234, 256–259, 272, 343EXIT_FAILURE:98, 98, 108, 116, 118, 122, 124, 220, 239, 300, 342;EXIT_SUCCESS:3, 10–12, 14, 16, 22, 29, 63, 98, 98, 116, 118, 122, 124, 239;exp:113;exp2:113;expm1:113fabs:27, 28, 113, 115, 310;fadd:113;fdim:113;fdiv:113;FE_ALL_EXCEPT:246, 247;FE_DIVBYZERO:245, 246, 246;FE_INEXACT:246, 246;FE_INVALID:246, 246;FE_OVERFLOW:246, 246;FE_TONEAREST:271, 272;FE_UNDERFLOW:246, 246fgoto:211;floor:113;FLT_MAX:313, 314;FLT_RADIX:114, 151;fma:114, 115;fmax:113;fmaximum:113;fmaximum_mag:113;fmin:114;fminimum:114;fminimum_mag:114;fmod:114;fmul:114;FOPEN_MAX:252;fpclassify:114;fputs:115, 115, 116, 118, 119, 123, 124, 136, 229, 239, 258–260, 270, 295, 329, 356, 362;frexp:114, 115;fsub:114hypot:114;I:55, 56, 75, 141, 191, 301;ilogb:114;INFINITY:245, 245, 246;INT128_C:72;INT128_WIDTH:72;INT64_C:72;INT8_C:72;INT8_WIDTH:72;INT_MAX:56, 56, 66, 71, 112, 178, 255, 257–260, 292, 313, 314;INT_MIN:66, 71, 112, 245;INT_WIDTH:57is_array:384;is_const:321, 383;is_const_target:321, 383;is_fla:384;is_null_pointer_constant:317, 383;is_pointer:384;is_pointer_nvla:384;is_pointer_vla:384;is_potentially_negative:321, 383;is_void:321;is_void_pointer:384;is_void_target:321;is_volatile:321, 383;is_volatile_target:321, 383;is_zero_ice:317, 321, 383iscompatible:383;iscomplex:383;isdecimalfloating:383;isfinite:114;isfloating:383;isice:311, 312, 317, 321, 384;isimaginary:383;isinf:114, 167;isinteger:321, 383;isless:144;isnan:114;isnormal:114;issigned:321, 383;isstandardfloating:383;isstandardrealfloating:383;isunsigned:321, 383;isvla:321, 384;isxwide:384LC_ALL:135, 229;LC_COLLATE:135;LC_CTYPE:135, 237;LC_MONETARY:135;LC_NUMERIC:135;LC_TIME:135;LDBL_MAX:313, 314;ldexp:114, 115;lgamma:114;LLONG_MAX:313, 314;LLONG_MIN:62;llrint:114;llround:114, 115;log:114;log10:114;log1p:114;log2:114;logb:114;LONG_MAX:62, 240, 313, 314;LONG_MIN:62;LONG_WIDTH:57, 71;lrint:114;lround:114, 115max:127, 130, 133, 155;MB_LEN_MAX:234;memchr:81, 82, 83, 129, 195, 222, 223, 309;min:310, 311;modf:114;NDEBUG:136, 137, 168, 288, 289;nearbyint:114, 115;nextafter:114;nexttoward:114;nextup:114;not:35, 39, 39;not_eq:35, 39, 63;NULL:170, 170, 171, 298;offsetof:36, 62, 205;or:35, 39, 39;or_eq:36, 67pow:113, 114, 319, 320;pown:114, 319, 320;powr:114;PRIb64:72;PRId64:72;PRIi64:72;PRIo64:72;PRIu64:72;PRIX64:72;PRIx64:72;PTRDIFF_MAX:66;PTRDIFF_MIN:66;putc:107;putchar:107, 115, 115, 116, 329, 336;puts:22, 30, 31, 52, 106, 108, 109, 115, 116, 118, 122, 123, 154, 239, 247remainder:114;remquo:114;rint:114, 115;rootn:114;round:114, 115;roundeven:114;scalbn:114, 115;SCHAR_MAX:313;SEEK_CUR:240;SEEK_END:240;SEEK_SET:240;SHRT_MAX:313SIG_DFL:341, 342, 343;SIG_ERR:342, 343;SIG_IGN:341, 343;SIGABRT:341, 342, 344, 346;SIGFPE:341, 346;SIGILL:341, 346;SIGINT:341, 344, 346;signbit:114;SIGSEGV:341, 346;SIGTERM:341, 342, 344, 346;sin:32, 113, 114, 115;sinh:114;sinpi:114SIZE_MAX:34, 36, 37, 42, 47, 63, 65, 66, 83, 144, 235, 361, 367;SIZE_WIDTH:47;sqrt:32, 40, 114, 115, 272, 273stdc_bit_ceil:111, 113;stdc_bit_floor:68, 111, 112;stdc_bit_width:68, 111, 112, 143;stdc_count_ones:68, 111, 112;stdc_count_zeros:111, 113;stdc_first_leading_one:111, 113;stdc_first_leading_zero:111, 113;stdc_first_trailing_one:111, 112;stdc_first_trailing_zero:111, 112;stdc_has_single_bit:68, 111, 112;stdc_leading_ones:111, 113;stdc_leading_zeros:111, 113;stdc_trailing_ones:111, 113;stdc_trailing_zeros:111, 113, 143stderr:116, 116, 122, 124, 134, 136, 167, 220, 239, 242, 288, 289, 291–294, 296, 315, 337, 343;stdin:123, 123, 124, 220, 226, 226, 237, 242, 270, 328, 329, 336, 352, 358, 359, 372;stdout:107, 116, 116, 118, 119, 122, 124, 191, 220, 229, 242, 329, 335, 336, 337, 362strchr:82, 83, 129, 222, 224, 232, 309;strpbrk:129, 309;strrchr:129, 309;strstr:129, 232, 309;tan:114;tanh:114;tanpi:114;tgamma:114TIME_ACTIVE:133;TIME_MONOTONIC:133;TIME_THREAD_ACTIVE:133;TIME_UTC:133, 276, 277, 280, 361;TMP_MAX:252;tonull:321;tozero:321;trunc:114, 115UCHAR_MAX:66, 185, 186, 186, 313;UINT128_WIDTH:72, 73;UINT64_C:72, 72;UINT8_C:72;UINT8_WIDTH:72;UINT_MAX:57, 65, 66, 69, 70, 112, 248, 307, 313, 314, 324;UINT_WIDTH:66, 71;ULLONG_MAX:62, 65, 129, 313, 314;ULLONG_WIDTH:66, 73;ULONG_MAX:65, 127, 128, 313, 314;ULONG_WIDTH:66;unreachable:250, 250, 251, 254, 255;USHRT_MAX:313wcschr:309;wcspbrk:309;wcsrchr:309;wcsstr:309;WEOF:235;wmemchr:309;xor:35, 67;xor_eq:36, 67
- 词素(particle)
_C:72;_MAX:65, 72;_MIN:72;_WIDTH:72;_explicit:377, 378, 380;_num:113, 114;_t:10, 72, 93, 121, 142, 228int_fast:121, 228;int_least:121, 228;is:257, 258;MAX:324, 325;SIG:341;TIME_:133;uint:72, 121, 228;uint_fast:121, 228;uint_least:121, 228;wcs:232, 236
- 结构体成员(struct member)
quot:111;rem:111;tm_hour:86, 86, 87, 89;tm_isdst:86, 87, 90, 130;tm_mday:86, 86, 87, 89, 130;tm_min:86, 86, 87, 89, 90;tm_mon:86, 86, 87, 89, 130;tm_sec:86, 86, 87, 89–91, 130;tm_wday:86, 87, 130, 131;tm_yday:86, 87, 89, 130, 131;tm_year:86, 86, 87, 89, 130;tv_nsec:88, 90, 131, 133, 171, 276, 277;tv_sec:88, 90, 131, 142, 171, 361
- 标记名(tagname)
timespec:88, 90, 130, 131, 133, 142, 144, 152, 171, 277, 280, 359, 361, 363, 366tm:86, 86–91, 130, 131, 133
- 类型(type)
atomic_flag:250, 328, 345, 349, 370, 373, 377, 378;basic_blocks:330, 336, 338–340, 343;char16_t:236;char32_t:236;char8_t:236–238;clock_t:51, 133cnd_t:358, 361, 361, 363, 363, 364, 364, 366, 367, 369;descend:329–331, 334–340, 344;end_line:329, 336;errno_t:117, 134;FILE:115, 115–117, 120, 122–124, 223, 224, 240, 241, 257–259, 270, 296, 299, 355, 356int128_t:72, 73, 386, 388;int16_t:72;int32_t:72, 184;int64_t:72, 72;int8_t:72;intmax_t:51, 121, 127, 228, 240, 386;jmp_buf:329, 336, 336–340;mbstate_t:230, 230, 232–235, 237, 238memory_order:377, 378, 379;mtx_t:308, 328, 354, 358, 358, 359, 361, 363, 363, 366, 369, 370, 375;nullptr_t:312, 313;once_flag:355, 355, 356, 370;ptrdiff_t:26, 50, 51, 66, 121, 168, 228, 247, 250;rsize_t:123, 134sh_count:342, 345, 347, 348;sh_counted:347, 348;sh_enable:343;sig_atomic_t:328, 345, 349;signal_handler:342, 343;skipspace:329, 336;thrd_start_t:351, 351, 352;thrd_t:351, 351, 352, 364–366;time_t:51, 88, 90, 130, 130, 131, 133, 171;tss_dtor_t:357;tss_t:357, 374uint128_t:72, 73;uint16_t:72, 125;uint32_t:63, 72, 72, 125, 205;uint64_t:72, 276, 277, 280, 307;uint8_t:72, 125, 307;uint_least16_t:236;uint_least32_t:236;uintmax_t:51, 121, 127, 228;uintptr_t:248;va_list:287, 298, 299, 300;wchar_t:227, 228, 230, 232–236
- 常量(constant)
- 生存期(lifetime):194, 207
<limits.h>:65, 66, 71, 73, 107- 行缓冲(line buffering):118
- 线性化(linearizability):353, 359
- 链接(linkage):207
- 外部链接(external):207
- 内部链接(internal):208
- 无链接(no):208
- 链接器(linker):207
- 字面量(literal):10
- 复合字面量(compound):63
- 浮点字面量(floating point):十进制(decimal)51;十六进制(hexadecimal)51
- 整数字面量(integer):二进制(binary)51;字符(character)52;十进制(decimal)51;十六进制(hexadecimal)51;八进制(octal)51
- 字符串字面量(string):52
- 字面量(literals):51
- 小端(little-endian):184
llabs函数:111lldiv函数:111LLONG_MAX宏:313, 314LLONG_MIN宏:62llrint宏:114llround宏:114, 115- 区域设置(locale):135
locale编译指示:135, 236<locale.h>:107, 135localeconv函数:135localtime函数:131localtime_r函数:131, 131, 387- 无锁(lock-free):328, 345, 348, 349
log宏:114log10宏:114log1p宏:114log2宏:114logb宏:114LONG_MAX宏:62, 240, 313, 314LONG_MIN宏:62LONG_WIDTH宏:57, 71longjmp函数:95, 249, 260, 327–329, 335, 335, 336, 336–340, 344, 346, 349- 循环(loop)
- 循环对象(variable):15
- 循环体(loop body):15
- 循环条件(loop condition):15
lrint宏:114lround宏:114, 115- LSB:66
- 左值(lvalue):37
M
- 宏(macro):63
- 类函数宏(function-like):64, 107, 284, 284, 285
- 可变实参宏(variadic):293
- 宏调用(macro invocation):285
main函数:6<math.h>:107, 113, 167, 245, 271, 309, 387max宏:127, 130, 133, 155MAX词素:324, 325maxof:314MAXVAL:313maybe_unused属性:3, 9–11, 14, 16, 119, 159, 160, 168, 168, 206, 250, 287MB_LEN_MAX宏:234mbc:见多字节字符(multibyte character)mbcode:231mbincompletembstrings.h:231
mbinvalidmbstrings.h:231
mblen函数:232, 233mbrtoc16函数:237mbrtoc32函数:237, 387mbrtoc8函数:237–239, 387mbrtow:234mbrtowc函数:234, 237mbs:见多字节字符串(multibyte string)mbsrdup:233mbsrlen:230mbsrtowcs函数:232, 233mbsrwc:235mbstate_t类型:230, 230, 232–235, 237, 238mbstoredmbstrings.h:231
mbstrings.hmbincomplete:231mbinvalid:231mbstored:231
- 平均值(mean value):274
- 成员(member):85
memccpy函数:387memchr宏:81, 82, 83, 129, 195, 222, 223, 309memcmp函数:81, 82, 83, 241, 242memcpy函数:81, 82, 82, 83, 195, 203, 225, 227, 249, 259, 270, 285, 286memmove函数:203, 270- 内存(memory)
- 虚拟内存(virtual):183
- 内存泄漏(memory leak):204
- 内存模型(memory model):183
memory_order类型:377, 378, 379memory_order_acq_rel常量:377, 378, 378memory_order_acquire常量:378, 378memory_order_consume常量:370, 378, 378memory_order_relaxed常量:378, 378memory_order_release常量:378, 378memory_order_seq_cst常量:378, 378memset函数:103min:311min宏:310, 311mktime函数:108, 130, 130, 131modf宏:114- 修改顺序(modification order):371
- 模块性(modularity):95
- 矩(moment)
- 原始矩(raw):275
- MSB:66
mtx_destroy函数:252, 359, 360mtx_init函数:252, 359, 360mtx_lock函数:308, 358, 358–362, 364, 366, 370, 374, 375mtx_plain常量:359mtx_recursive常量:359, 360mtx_t类型:308, 328, 354, 358, 358, 359, 361, 363, 363, 366, 369, 370, 375mtx_timed常量:359mtx_timedlock函数:359, 359, 374mtx_trylock函数:359, 359, 374mtx_unlock函数:308, 358, 358–362, 364, 374, 375- 多字节(multibyte)
- 字符(character):230
- 字符串(string):229, 230, 230, 231, 232, 243
- 多字节字符(multibyte characters):233
- 互斥量(mutex)
- 获取(acquire):359
- 持有(hold):359
- 释放(release):359
- 互斥(mutual exclusion):358
N
- 命名空间(name space):141
- 标记(tag):61
nan函数:114NDEBUG宏:136, 137, 168, 288, 289nearbyint宏:114, 115NEW_LINE标签:329–331, 334nextafter宏:114nexttoward宏:114nextup宏:114nodiscard属性:158, 159, 160, 198, 199, 201- 非值(non-value):250
- 非值表示(non-value representation):169
noreturn属性:98, 98, 135, 159, 160, 244, 327, 336, 345, 366not宏:35, 39, 39not_eq宏:35, 39, 63NULL宏:170, 170, 171, 298- 空指针(null pointer):85, 170, 173, 179, 223, 233, 265, 345
- 常量(constant):170, 298
nullptr_t类型:312, 313numberline:221
O
- 对象(object):12, 14
- 数据对象(data):10
- 对象实例(object instance):210
- 对象表示(object representation):183, 184, 185
OFF编译指示:271, 272offsetof宏:36, 62, 205once_flag类型:355, 355, 356, 370- 不透明(opaque)
- 结构体(structure):173
- 不透明类型(opaque type):115
- 打开的文件(open file):116
- 操作数(operand):34
- 操作(operation)
- 不可中断(uninterruptible):345
- 运算符(operator):10, 14, 34
!=:24, 38;!!:39;():96;二元*:35;*=:37;二元+:35;一元+:35;++:38;+=:37;,:40- 二元
-:35;一元-:35;--:38;-=:37;.:87;/:36;/=:37;::见三元运算符;<:38;<<:68;<<=:68;<=:38;=:37, 88;==:24, 38;>:38;>=:38;>>:68;>>=:68;?:见三元运算符 %:36;%=:37;[]:77;^:66;^=:67;一元&:164;一元*:164;->:171;~:67;...:293, 297;##:293;#:292;|:66;|=:67;||:39and:39;and_eq:67;bitand:67;bitor:67;compl:67;拼接(concatenation):293;not:39;对象所属(object-of):164;or:39;or_eq:67- 后缀(postfix):递减 38;递增 38
- 前缀(prefix):递减 38;递增 38
- 三元(ternary):23, 40
xor:67;xor_eq:67
- 优化(optimization):45
or宏:35, 39, 39or_eq宏:36, 67- 溢出(overflow):36, 37
P
- 填充(padding)
- 位填充(bit):91
- 字节填充(byte):90
- 形参(parameter):12
- 形参列表(parameter list):285
- 圆括号(parentheses):3
- 解析状态(parsing state):233
- 按引用传递(pass by reference):15, 80, 136, 339
- 按值传递(pass by value):80, 87, 155
perror函数:108, 108, 109, 116, 118, 122, 124, 136- 平台(platform):4
- 依赖平台(platform dependent):4
plusLbasic_blocks.c:335
plusL标签:329, 335, 335, 337–339plusRbasic_blocks.c:335
plusR标签:329, 335, 336, 337- 指针(pointer):11, 26, 60, 163, 164
- 空指针(null):85
- 指向
void(to void):188, 188
- 指针之差(pointer difference):167
- 可移植(portable):4
pow宏:113, 114, 319, 320powf函数:319powl函数:319, 320pown宏:114, 319, 320pownf函数:319pownl函数:319, 320powr宏:114- 编译指示(pragma)
DEFAULT:301, 302;fenv:272;FENV_ROUND:271, 272, 272;FP_CONTRACT:271, 272, 272;locale:135, 236;OFF:271, 272
pragma:204, 241, 271, 272- 精度(precision):48, 66
- 浮点(floating point):74
- 预处理(preprocessing):285
- 预处理器(preprocessor):63
- 预处理条件(preprocessor conditionals):110
- 预处理指令(preprocessor directives):40
PRIb64宏:72;PRId64宏:72;PRIi64宏:72- 打印(print):3, 4
printf函数:6printf_debug:299printf_s函数:109, 122PRIo64宏:72;PRIu64宏:72;PRIX64宏:72;PRIx64宏:72- 程序失效(program failure):71, 82, 85, 120, 165, 169, 170, 270, 353
proto:printf:12- 原型(prototype):96
PTRDIFF_MAX宏:66PTRDIFF_MIN宏:66ptrdiff_t类型:26, 50, 51, 66, 121, 168, 228, 247, 250- 标点(punctuation):9
putc宏:107putchar宏:107, 115, 115, 116, 329, 336puts宏:22, 30, 31, 52, 106, 108, 109, 115, 116, 118, 122, 123, 154, 239, 247
Q
qsort函数:177, 178, 179, 181, 308, 309- 限定符(qualifier):59
const:64const:59
- 快速排序(quick sort):179
quick_exit函数:95, 135, 136, 256, 342, 344, 345, 357quot结构体成员:111
R
r12硬件寄存器:280, 281;r13:281;r14:280;rax:215, 216, 280, 281;rbp:215–217;rbx:217, 281;rcx:215;rdi:279, 280;rdx:215, 216- 竞争条件(race condition):353
- 竞争条件(race conditions):253
raise函数:95, 337, 342, 343rand函数:355- 读-修改-写(read-modify-write):373
realloc函数:194, 195, 202–204, 208, 222, 223, 252, 259- 递归(recursion):99, 100
- 无限递归(infinite):100
- 递归(recursive):99
- 递归下降解析器(recursive descent parser):328
- 指代(refer):164
- 引用(reference)
- 数组(array):80
- 被引用类型(referenced type):163
register:209- 释放(release):373
rem结构体成员:111remainder宏:114remove函数:119, 252remquo宏:114rename函数:119- 替换文本(replacement text):285
- 可表示(representable):36
- 表示(representation)
- 二进制(binary):47, 65
- 浮点(floating-point):47
- 对象(object):47, 65, 184
- 反码(ones’ complement):69
- 符号(sign):69, 184
- 符号与量值(sign and magnitude):69
- 二补码(two’s complement):69
reproducible属性:159, 160, 266, 271, 272, 272, 273, 278, 279, 283, 385- 保留(reserved):9
- 可重新开始(restartable):237
- 返回(return):16
return:97- 重写操作(rewrite operations):165
right标签:329, 331, 334, 337- 环(ring):65
rint宏:114, 115rip硬件寄存器:279, 281rootn宏:114round宏:114, 115roundeven宏:114rsize_t类型:123, 134rsp硬件寄存器:215–218, 280- 右值(rvalue):37
S
- 样本(sample):274
- 标量(scalar):26, 164
scalbln函数:114scalbn宏:114, 115scanf函数:226, 226–228, 243, 249, 293, 386, 387SCHAR_MAX宏:313- 作用域(scope):12, 27
- 块作用域(block):13
- 文件作用域(file):13
- 参见成员(see member):85
SEEK_CUR宏:240;SEEK_END宏:240;SEEK_SET宏:240- 选择(selection):30
- 序列点(sequence points):331
- 已排序(sequenced):327
- 先序于(sequenced before):371, 373, 376
- 先序关系(sequenced-before):331
- 顺序一致性(sequential consistency):376, 377
- 集合交(set intersection):66
- 集合并(set union):66
setjmp函数:95, 253, 260, 327, 336, 336–340, 344, 346, 349<setjmp.h>:107, 336setlocale函数:135, 135, 228, 229, 237–239setvbuf函数:355sh_enable:343;sh_handler:342;sh_pair:347;sh_pairs:346sh_count类型:342, 345, 347, 348sh_counted类型:347, 348sh_enable类型:343- 被遮蔽对象(shadowed variable):206
- 共享(shared):353
- 短路求值(short-circuit evaluation):40, 68
SHRT_MAX宏:313- 副作用(side effect):38
SIG词素:341sig_atomic_t类型:328, 345, 349SIG_DFL宏:341, 342, 343;SIG_ERR:342, 343;SIG_IGN:341, 343;SIGABRT:341, 342, 344, 346;SIGFPE:341, 346;SIGILL:341, 346;SIGINT:341, 344, 346- 符号表示(sign representation):184
- 信号(signal):340
- 异步(asynchronous):335
- 处置(disposition):341
- 处理程序(handler):263, 340–342, 344, 345, 349, 353, 370
- 信号处理程序(signal handler):95
- 编号(numbers):341
- 同步(synchronous):340
signal函数:253, 328, 342, 342, 343, 345- 信号处理程序(signal handler):340
<signal.h>:107, 341, 342signal_handler:342signal_handler类型:342, 343signbit宏:114SIGSEGV宏:341, 346;SIGTERM宏:341, 342, 344, 346sin宏:32, 113, 114, 115sinh宏:114sinpi宏:114SIZE_MAX宏:34, 36, 37, 42, 47, 63, 65, 66, 83, 144, 235, 361, 367SIZE_WIDTH宏:47- 偏度(skew):275
skipspace类型:329, 336- 蛇形命名法(Snake case):143
snprintf:312snprintf函数:106, 160, 225, 226, 258, 265, 287, 311, 312, 355snprintf_swapped:287- 源代码(source)
code/analyze-utf8.c:237–239;code/B9-detach.c:364, 365;code/B9.c:351, 352, 362, 363;code/basic_blocks.c:336, 342;code/c23-fallback.h:160, 382, 385code/circular.c:200–202, 204;code/circular.h:199;code/crash.c:191;code/embed.c:241;code/endianness.c:185, 189;code/euclid.h:99, 100code/fibonacci.c:101;code/fibonacci2.c:104;code/fibonacciCache.c:103;code/fp_except.c:245, 246;code/generic.h:300–303, 319;code/getting-started.c:3, 9, 13–16code/heron.c:98;code/heron_k.h:150;code/life.c:361;code/life.h:353, 358;code/lifetime-assembler.s:215;code/lifetime-optimized.s:217;code/lifetime.c:211code/macro_trace.c:288, 291, 292, 294, 295;code/macro_trace.h:293, 296;code/mbstrings-main.c:228, 229;code/mbstrings.c:232–235;code/mbstrings.h:232, 236code/numberline.c:220–225, 257, 258;code/rationals.c:156, 157, 171, 172;code/rationals.h:156;code/sequence_point.c:331;code/sighandler.c:346, 347;code/sighandler.h:347, 348code/strtoul.c:126, 127;code/swap.c:317, 319, 322, 324;code/swap.cpp:323;code/swap.m:322;code/timespec.c:276, 277, 280;code/yday.c:86, 87, 96
- 源文件(source file):5
sprintf函数:224, 225, 259sprintnumbers:224sqrt宏:32, 40, 114, 115, 272, 273srand函数:355sscanf函数:226- SSE:279
- 栈(stack):215, 251
- 栈溢出(stack overflow):251
- 标准差(standard deviation)
- 相对标准差(relative):275
- 状态(state):46
- 抽象状态(abstract):44, 46, 47, 57, 70, 71, 77, 155, 156, 180, 183, 186, 187, 328, 370, 371
- 已定义状态(defined):35, 37, 71, 188, 213, 331, 355, 356
- 可观察状态(observable):46
state:335- 状态机(state machine)
- 抽象(abstract):47
- 语句(statement):3
- 选择语句(selection):23
- 语句(statements):14
static:209static_assert:110, 110, 126, 136, 319stats:278stats_collect:279stats_collect2:278<stdalign.h>:107, 192<stdarg.h>:107, 287, 298<stdargs.h>:97<stdatomic.h>:107, 309, 345, 382, 383<stdbit.h>:68, 107, 112, 143, 186, 382, 387<stdbool.h>:24, 66, 69, 107stdc_bit_ceil宏:111, 113;stdc_bit_floor:68, 111, 112;stdc_bit_width:68, 111, 112, 143;stdc_count_ones:68, 111, 112;stdc_count_zeros:111, 113stdc_first_leading_one宏:111, 113;stdc_first_leading_zero:111, 113;stdc_first_trailing_one:111, 112;stdc_first_trailing_zero:111, 112stdc_has_single_bit宏:68, 111, 112;stdc_leading_ones:111, 113;stdc_leading_zeros:111, 113;stdc_trailing_ones:111, 113;stdc_trailing_zeros:111, 113, 143<stdckdint.h>:107, 112, 382, 387<stddef.h>:51, 107, 168stderr宏:116, 116, 122, 124, 134, 136, 167, 220, 239, 242, 288, 289, 291–294, 296, 315, 337, 343stdin宏:123, 123, 124, 220, 226, 226, 237, 242, 270, 328, 329, 336, 352, 358, 359, 372<stdint.h>:34, 51, 65, 66, 72, 107, 386<stdio.h>:12, 30, 107, 108, 115<stdlib.h>:12, 29, 107, 111, 117, 177, 194–196, 309, 355<stdnoreturn.h>:107stdout宏:107, 116, 116, 118, 119, 122, 124, 191, 220, 229, 242, 329, 335, 336, 337, 362- 存储(storage):188
- 类(class):207
- 存储类(storage class):207
- 存储期(storage duration):207
- 存储期(storage durations)
- 已分配(allocated):207
- 自动(automatic):207
- 静态(static):207
- 线程(thread):207
- 存储实例(storage instance):188, 194
- 存储说明符(storage specifier):96
strchr宏:82, 83, 129, 222, 224, 232, 309strcmp函数:82, 82, 83, 144, 175strcoll函数:82, 83, 135strcpy函数:82, 83, 175, 195, 230strcspn函数:82, 83, 129, 222, 227strdup函数:82, 83, 195, 195, 252, 387- 流(stream):115
strftime函数:130, 131, 132, 132, 133, 135, 387- 字符串字面量(string literal):3
<string.h>:81, 107, 129, 309- 字符串化(stringification):292
- 字符串(strings):80
strlen函数:21, 82, 82, 83, 95, 175, 195, 220, 225, 230, 232, 258, 259strndup函数:82, 83, 195, 195, 252, 387strpbrk宏:129, 309strrchr宏:129, 309strspn函数:82, 83, 128, 129, 222, 227, 232strstr宏:129, 232, 309strtod函数:29, 98, 99, 106, 108, 126, 129, 227, 243, 247, 300, 301strtof函数:126, 301strtoimax函数:126strtok函数:129strtol函数:126, 129, 227, 303strtold函数:126, 301strtoll函数:126, 303strtoul函数:126, 127, 129, 221, 227, 300, 301, 303strtoull函数:126, 129, 130, 221, 222, 303, 365strtoumax函数:126- 结构体(structure)
- 成员(member):85, 86
strxfrm函数:135- 语法糖(sugar):4
sumIt:300- 代理对(surrogate pairs):236
swap:163switch:30- 对称差(symmetric difference):66
- 同步(synchronization):371
- 同步于(synchronizes-with):373
- 系统调用(system call):274
T
- 标记(tag):92
- 标记名(tag name):92
tan宏:114;tanh宏:114;tanpi宏:114- 任务(task):350
- 临时生存期(temporary lifetime):210
- 文本模式 IO(text mode IO):239
tgamma宏:114<tgmath.h>:28, 40, 55, 75, 107, 113, 271, 284, 309, 310thrd_create函数:108, 252, 328, 350, 351, 351, 352, 365, 374thrd_current函数:365, 366thrd_detach函数:252, 365, 365, 366, 369thrd_equal函数:366thrd_exit函数:256, 328, 365, 365, 366, 374thrd_join函数:252, 350–353, 370, 374thrd_sleep函数:366, 366thrd_start_t类型:351, 351, 352thrd_t类型:351, 351, 352, 364–366thrd_yield函数:366, 366- 线程(thread):350
- 线程专用存储(thread-specific storage):357
thread_local:208, 209, 299, 357, 369<threads.h>:107, 350, 355, 357, 358, 382, 383time函数:51, 89, 130, 130, 131, 133, 133, 151, 355<time.h>:51, 86, 88, 107, 130, 142TIME_词素:133TIME_ACTIVE宏:133TIME_MONOTONIC宏:133time_t类型:51, 88, 90, 130, 130, 131, 133, 171TIME_THREAD_ACTIVE宏:133TIME_UTC宏:133, 276, 277, 280, 361timegm函数:131, 387timespec标记名:88, 90, 130, 131, 133, 142, 144, 152, 171, 277, 280, 359, 361, 363, 366timespec_diff:171timespec_get函数:130, 131, 133, 133, 274, 276, 277, 280, 281, 361timespec_getres函数:130, 133tm标记名:86, 86–91, 130, 131, 133tm_hour结构体成员:86, 86, 87, 89;tm_isdst:86, 87, 90, 130;tm_mday:86, 86, 87, 89, 130;tm_min:86, 86, 87, 89, 90;tm_mon:86, 86, 87, 89, 130;tm_sec:86, 86, 87, 89–91, 130;tm_wday:86, 87, 130, 131;tm_yday:86, 87, 89, 130, 131;tm_year:86, 86, 87, 89, 130TMP_MAX宏:252tmpfile函数:252tolower函数:125tonull宏:321tooDeepbasic_blocks.c:335
tooDeep标签:329, 335, 335, 337, 338toupper函数:125, 126tozero宏:321TRACE_CONVERT:316;TRACE_FORMAT:315;TRACE_ON:289;TRACE_POINTER:316TRACE_PRINT0:288;TRACE_PRINT1:289;TRACE_PRINT2:289;TRACE_PRINT3:291;TRACE_PRINT4:291;TRACE_PRINT5:292;TRACE_PRINT6:293;TRACE_PRINT7:294;TRACE_PRINT8:294;TRACE_PRINT9:295TRACE_PTR0:290;TRACE_PTR1:290;TRACE_VALUE0:290;TRACE_VALUE1:315;TRACE_VALUES:296;trace_values:296- 尾随实参(trailing argument):120
- 尾随分号(Trailing semicolons):154
- 尾随空白(trailing white space):119
- 翻译单元(translation unit):150
- 陷阱(trap):71
- 陷阱表示(历史术语,trap representation):169, 250
- 陷入(traps):340
trunc宏:114, 115tss_create函数:252, 357, 369;tss_delete函数:252, 357;tss_dtor_t类型:357;tss_get函数:357;tss_set函数:357;tss_t类型:357, 374- TU:150
tv_nsec结构体成员:88, 90, 131, 133, 171, 276, 277tv_sec结构体成员:88, 90, 131, 142, 171, 361- 类型(type):10, 11, 12, 46
- 派生(derived):48
- 不完整(incomplete):58
- 窄(narrow):49
- 类型提升(type promotion):49
- 类型特征(type traits):321
U
- UB:244
<uchar.h>:107UCHAR_MAX宏:66, 185, 186, 186, 313ufromfp函数:114uint词素:72, 121, 228uint128_t类型:72, 73UINT128_WIDTH宏:72, 73uint16_t类型:72, 125uint32_t类型:63, 72, 72, 125, 205UINT64_C宏:72, 72uint64_t类型:72, 276, 277, 280, 307UINT8_C宏:72uint8_t类型:72, 125, 307UINT8_WIDTH宏:72uint_fast词素:121, 228uint_least词素:121, 228uint_least16_t类型:236uint_least32_t类型:236UINT_MAX宏:57, 65, 66, 69, 70, 112, 248, 307, 313, 314, 324UINT_WIDTH宏:66, 71uintmax_t类型:51, 121, 127, 228uintptr_t类型:248ULLONG_MAX宏:62, 65, 129, 313, 314ULLONG_WIDTH宏:66, 73ULONG_MAX宏:65, 127, 128, 313, 314ULONG_WIDTH宏:66- 未定义行为(undefined behavior):70, 70, 71, 82, 85, 120, 121, 165, 169, 170, 187, 189, 190, 207, 212, 270, 341, 353
- 底层类型(underlying type):62
ungetc函数:352, 358, 371- Unicode:231
- 不可中断操作(uninterruptible operation):345
- 联合体(union):183
unreachable宏:250, 250, 251, 254, 255unsequenced属性:99–101, 104, 150, 151, 156–159, 160, 171, 172, 205, 254, 266, 271, 271–273, 283, 311, 332, 385unsigned:20USHRT_MAX宏:313- UTF-16:235
- UTF-32:235
- UTF-8:235, 236
V
va_arg函数:298, 300va_copy函数:252, 298va_end函数:252, 287, 298, 299, 300va_list类型:287, 298, 299, 300va_start函数:252, 287, 298, 299, 300- 值(value):11, 12, 44, 46
- 对象(variable):11
- 条件量(condition):361
- 全局对象(global):155
- 变长数组(variable-length arrays):57
- 对象(variables):10
- 可变实参函数(variadic functions):285
vfprintf函数:299- 可见(visible):12
- VLA:57;见变长数组(variable-length array);210, 212
void- 函数(function):96
- 形参列表(parameter list):96
- 指针(pointer):188, 188
vsnprintf函数:287
W
warning:110, 232, 385<wchar.h>:107, 230, 309wchar_t类型:227, 228, 230, 232–236wcrtomb函数:237wcs:见宽字符字符串(wide character string)wcs词素:232, 236wcschr宏:309wcspbrk宏:309wcsrchr宏:309wcsstr宏:309<wctype.h>:107, 233- 良好定义(well defined):35
WEOF宏:235while:27- 宽字符(wide character):230
- 宽字符字符串(wide character string):232
- 宽字符字符串(wide character strings):232
- 宽字符(wide characters):232
- 宽度(width):66
wmemchr宏:309- 字边界(word boundary):191
- 包装器(wrapper):100, 172
X
xmm0硬件寄存器:279, 280xmm1硬件寄存器:279, 280xmm2硬件寄存器:279, 280xmm3硬件寄存器:279, 280xmm4硬件寄存器:280xor宏:35, 67xor_eq宏:36, 67