命名空间
变体
操作

类型支持

来自 cppreference.cn
< c

另请参阅 类型系统概述语言定义的 算术类型

目录

[编辑] 基本类型

[编辑] 额外的基本类型和便捷宏

定义于头文件 <stddef.h>
sizeof 运算符返回的无符号整数类型
(typedef) [编辑]
当两个指针相减时返回的有符号整数类型
(typedef) [编辑]
预定义的空指针常量 nullptr 的类型
(typedef) [编辑]
实现定义的空指针常量
(宏常量) [编辑]
对齐要求与任何其他标量类型一样大的类型
(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 起)

[编辑] 示例

#include <stdalign.h>
#include <stdbool.h>
#include <stdio.h>
 
int main(void)
{
    printf("%d %d %d\n", true && false, true || false, !false);
    printf("%d %d\n", true ^ true, true + true);
    printf("%zu\n", alignof(short));
}

可能的输出

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++ 文档 关于 类型支持库