📅  最后修改于: 2023-12-03 14:47:42.784000             🧑  作者: Mango
stddef.h
是 C 编程语言的头文件之一,定义了各种变量、类型和宏,用于处理指针和内存操作。其名称来源于“standard definition (标准定义)”。
size_t
是无符号整数类型,用于表示对象的大小(以字节为单位)。通常用于类似 malloc
和 memcpy
的函数中。
typedef unsigned int size_t;
ptrdiff_t
是有符号整数类型,用于表示两个指针之间的差距。在计算数组元素的索引时非常有用。
typedef int ptrdiff_t;
NULL
是一个宏,用于表示空指针。通常用于初始化指针或者判断指针是否为空。
#define NULL ((void*)0)
除了上面的三个结构外,stddef.h
还定义了一些其他有用的宏。
offsetof
宏用于计算一个结构体中成员的偏移量。它接受两个参数:结构体类型和成员名称。
#define offsetof(type, member) ((size_t) &((type*)0)->member)
wchar_t
是一个宽字符类型,用于表示 Unicode 字符集中的字符。其大小通常为 2 或 4 个字节。
typedef unsigned short wchar_t;
max_align_t
是一个变量类型,用于表示所有基本数据类型的对齐要求的最大值。它通常用于实现内存对齐操作。
typedef long double max_align_t;
stddef.h
头文件提供了处理指针和内存操作所需的各种变量、类型和宏。程序员使用这些结构和宏可以更方便地进行内存操作和指针操作。