类型支持
来自 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> (页码: 待定)
- 7.18 布尔类型和值 <stdbool.h> (页码: 待定)
- 7.19 常用定义 <stddef.h> (页码: 待定)
- 7.23 _Noreturn <stdnoreturn.h> (页码: 待定)
- 7.31.9 布尔类型和值 <stdbool.h> (页码: 待定)
- C17 标准 (ISO/IEC 9899:2018)
- 7.15 对齐 <stdalign.h> (页码: 196)
- 7.18 布尔类型和值 <stdbool.h> (页码: 210)
- 7.19 常用定义 <stddef.h> (页码: 211)
- 7.23 _Noreturn <stdnoreturn.h> (页码: 263)
- 7.31.9 布尔类型和值 <stdbool.h> (页码: 332)
- C11 标准 (ISO/IEC 9899:2011)
- 7.15 对齐 <stdalign.h> (页码: 268)
- 7.18 布尔类型和值 <stdbool.h> (页码: 287)
- 7.19 常用定义 <stddef.h> (页码: 288)
- 7.23 _Noreturn <stdnoreturn.h> (页码: 361)
- 7.31.9 布尔类型和值 <stdbool.h> (页码: 456)
- C99 标准 (ISO/IEC 9899:1999)
- 7.18 布尔类型和值 <stdbool.h> (页码: 253)
- 7.19 常用定义 <stddef.h> (页码: 254)
- 7.26.7 布尔类型和值 <stdbool.h> (页码: 401)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.1.5 常用定义 <stddef.h>
[编辑] 另请参阅
C++ 文档 关于 类型支持库
|