命名空间
变体
操作

类型支持

来自 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 起)

[编辑] 数值限制

[编辑] 注意

truefalse 的类型是 int 而不是 _Bool

程序可以取消定义并可能重新定义宏 booltruefalse。然而,这种能力是一个已弃用的特性。

(C99 起)
(直至 C23)

truefalse 的类型是 bool。是否将 bool_Booltruefalse 中的任何一个实现为预定义宏是不确定的。

如果 booltruefalse(但不是 _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> (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++ 文档 关于 类型支持库