文章目录
👩🏫每日一问,好好复习
在结构体大小计算中,我们提到了内存对齐的问题,并且“人工”的计算了偏移量,那有什么方法可以“解放双手”嘛~
offsetof
🔒1.1什么是offsetof?
C 语言库中提供了一个宏函数 offsetof(type, member-designator)
它会生成一个类型为 size_t 的整型常量,是一个结构成员相对于结构开头的字节偏移量
成员是由 member-designator 给定的,结构的名称是在 type 中给定的。
🔒1.2如何声明?
offsetof(type, member-designator)
参数
type
这是一个 class 类型,其中,member-designator 是一个有效的成员指示器。
member-designator
这是一个 class 类型的成员指示器。返回值
该宏返回类型为
size_t
的值,表示 type 中成员的偏移量。
🔒1.3实例
下面的实例演示了 offsetof() 宏的用法。
#include <stddef.h>//必带头文件