C 编程/stddef.h
外观
< C 编程
(重定向自 C 编程/C 参考/stddef.h)stddef.h 是 C 编程语言标准库中的一个头文件,它定义了宏 NULL 和 offsetof 以及类型 ptrdiff_t、wchar_t 和 size_t[1]。
在 C 中,以这种方式包含头文件 "stddef.h"
#include <stddef.h>
在 C++ 中,以这种方式包含头文件 "cstddef"
#include <cstddef>
头文件 "stddef.h" 将其定义放置在全局范围内;头文件 "cstddef" 将 size_t
和 ptrdiff_t
放置在命名空间 std
中。
一个宏,扩展为一个空指针常量。它可以根据编译器和语言定义为 ((void*)0)、0 或 0L。
一个功能宏,用于确定指定结构类型中指示成员字段的字节偏移量。
类型 size_t 表示用于表示内存区域对象的大小以及用于取消引用数组元素的适当类型。它具有与实现相关的尺寸;通常但不一定,它在 32 位系统上具有 32 位表示,在 64 位系统上具有 64 位表示。它是无符号的。
此类型在某些实现中有一个名为 ssize_t 的带符号变体,它在 UNIX 头文件 "unistd.h" 中定义。对于 GNU C,类型 ssize_t 在 "stddef.h" 中定义,因此与 size_t 位于同一个文件中。
一个与实现相关的“宽字符”类型,它在 C++ 编程语言中是预定义的,但在 C 编程语言中需要头文件 "stddef.h" 或 "wchar.h"。
类型 ptrdiff_t 是一种可以保存两个指针相减结果的类型,这两个指针指向同一个对象的两个项目。ptrdiff_t 的底层类型因实现而异。
一个对象可能大于 PTRDIFF_MAX。两个指针相减,如果它们的差大于 PTRDIFF_MAX / PTRDIFF_MIN,会导致未定义的行为。