命名空间
变体
操作

类型支持

来自 cppreference.com
< 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 的类型是 boolbool_Booltruefalse 是否作为预定义宏实现是未指定的。

如果 booltruefalse(但不是 _Bool)定义为预定义宏,程序可以取消定义并可能重新定义它。

(自 C23 起)

[编辑] 示例

#include <stdio.h>
#include <stdbool.h>
#include <stdalign.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

[编辑] 参考

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