类型支持
来自 cppreference.cn
< c
目录 |
[编辑] 基本类型
[编辑] 附加基本类型及便利宏
定义于头文件
<stddef.h> | |
由 sizeof 运算符返回的无符号整型 (typedef) | |
减去两个指针时返回的有符号整型 (typedef) | |
(C23) |
预定义空指针常量 nullptr 的类型 (typedef) |
实现定义的空指针常量 (宏常量) | |
(C11) |
与任何其他标量类型具有相同对齐要求的类型 (typedef) |
从结构体类型开头到指定成员的字节偏移量 (函数宏) | |
定义于头文件
<stdbool.h> | |
bool (C99 起)(C23 中移除) |
便利宏,展开为 _Bool (关键字宏) |
true (C99 起)(C23 中移除) |
展开为整数常量 1 (宏常量) |
false (C99 起)(C23 中移除) |
展开为整数常量 0 (宏常量) |
__bool_true_false_are_defined (C99 起)(C23 中已弃用) |
展开为整数常量 1 (宏常量) |
定义于头文件
<stdalign.h> | |
alignas (C11 起)(C23 中移除) |
便利宏,展开为关键词 _Alignas (关键字宏) |
alignof (C11 起)(C23 中移除) |
便利宏,展开为关键词 _Alignof (关键字宏) |
__alignas_is_defined (C11 起)(C23 中移除) |
展开为整数常量 1 (宏常量) |
__alignof_is_defined (C11 起)(C23 中移除) |
展开为整数常量 1 (宏常量) |
定义于头文件
<stdnoreturn.h> | |
noreturn (C11 起)(C23 中已弃用) |
便利宏,展开为 _Noreturn (关键字宏) |
[编辑] 定宽整型 (C99 起)
[编辑] 数值限制
[编辑] 注意
true 和 false 的类型是 int 而不是 _Bool。 程序可以取消定义并可能重新定义宏 bool、true 和 false。然而,这种能力是一个已弃用的特性。 |
(C99 起) (直至 C23) |
true 和 false 的类型是 bool。是否将 bool、_Bool、true 或 false 中的任何一个实现为预定义宏是不确定的。 如果 bool、true 或 false(但不是 _Bool)被定义为预定义宏,程序可以取消定义并可能重新定义它。 |
(自 C23 起) |
[编辑] 示例
运行此代码
可能的输出
0 1 1 0 2 2
[编辑] 参考
- C23 标准 (ISO/IEC 9899:2024)
- 7.15 对齐 <stdalign.h> (p: 待定)
- 7.18 布尔类型和值 <stdbool.h> (p: 待定)
- 7.19 常见定义 <stddef.h> (p: TBD)
- 7.23 _Noreturn <stdnoreturn.h> (p: 待定)
- 7.31.9 布尔类型和值 <stdbool.h> (p: 待定)
- C17 标准 (ISO/IEC 9899:2018)
- 7.15 对齐 <stdalign.h> (p: 196)
- 7.18 布尔类型和值 <stdbool.h> (p: 210)
- 7.19 常用定义 <stddef.h> (p: 211)
- 7.23 _Noreturn <stdnoreturn.h> (p: 263)
- 7.31.9 布尔类型和值 <stdbool.h> (p: 332)
- C11 标准 (ISO/IEC 9899:2011)
- 7.15 对齐 <stdalign.h> (p: 268)
- 7.18 布尔类型和值 <stdbool.h> (p: 287)
- 7.19 常见定义 <stddef.h> (p: 288)
- 7.23 _Noreturn <stdnoreturn.h> (p: 361)
- 7.31.9 布尔类型和值 <stdbool.h> (p: 456)
- C99 标准 (ISO/IEC 9899:1999)
- 7.18 布尔类型和值 <stdbool.h> (p: 253)
- 7.19 常用定义 <stddef.h> (p: 254)
- 7.26.7 布尔类型和值 <stdbool.h> (p: 401)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.1.5 常用定义 <stddef.h>
[编辑] 另见
C++ 文档 关于 类型支持库
|