📜  stddef.h - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:47:42.784000             🧑  作者: Mango

stddef.h - C 编程语言

简介

stddef.h 是 C 编程语言的头文件之一,定义了各种变量、类型和宏,用于处理指针和内存操作。其名称来源于“standard definition (标准定义)”。

常用结构
size_t

size_t 是无符号整数类型,用于表示对象的大小(以字节为单位)。通常用于类似 mallocmemcpy 的函数中。

typedef unsigned int size_t;
ptrdiff_t

ptrdiff_t 是有符号整数类型,用于表示两个指针之间的差距。在计算数组元素的索引时非常有用。

typedef int ptrdiff_t;
NULL

NULL 是一个宏,用于表示空指针。通常用于初始化指针或者判断指针是否为空。

#define NULL ((void*)0)
其他宏

除了上面的三个结构外,stddef.h 还定义了一些其他有用的宏。

offsetof

offsetof 宏用于计算一个结构体中成员的偏移量。它接受两个参数:结构体类型和成员名称。

#define offsetof(type, member) ((size_t) &((type*)0)->member)
wchar_t

wchar_t 是一个宽字符类型,用于表示 Unicode 字符集中的字符。其大小通常为 2 或 4 个字节。

typedef unsigned short wchar_t;
max_align_t

max_align_t 是一个变量类型,用于表示所有基本数据类型的对齐要求的最大值。它通常用于实现内存对齐操作。

typedef long double max_align_t;
总结

stddef.h 头文件提供了处理指针和内存操作所需的各种变量、类型和宏。程序员使用这些结构和宏可以更方便地进行内存操作和指针操作。