首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

offsetof

在头文件<stddef.h>中定义

?

?

#define offsetof(type,member)/ *实现定义的* /

?

?

宏的offsetof扩展为size_t类型的常量,其值是从指定类型的对象开始到指定成员(包括填充(如果有))的偏移量(以字节为单位)。

代码语言:javascript
复制
#include <stdio.h>
#include <stddef.h>
 
struct S {
    char c;
    double d;
};
 
int main(void)
{
    printf("the first element is at offset %zu\n", offsetof(struct S, c));
    printf("the double is at offset %zu\n", offsetof(struct S, d));
}

可能的输出:

代码语言:javascript
复制
the first element is at offset 0
the double is at offset 8

扩展内容

size_t

由sizeof运算符返回的无符号整数类型(typedef)

| 用于offsetof的C ++文档 |

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com