news 2026/9/9 19:08:11

offsetof 宏的实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
offsetof 宏的实现

1、offsetof的介绍

offsetof宏用于获取结构体中某个成员相对于结构体起始地址的偏移量。它接受结构体类型和成员作为参数,返回一个无符号整型值。这个宏在C语言中非常有用,特别是在处理复杂数据结构时。

2、offsetof宏的定义

标准库中的offsetof宏定义如下:

#include <stddef.h>
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

2.1offsetof(TYPE, MEMBER)的说明

1.TYPE: 表示结构体或联合体的类型名。

2.MEMBER: 表示结构体(或联合体)中需要计算偏移量的成员名称。

2.2((size_t) &((TYPE *)0)->MEMBER)的详细说明

1.(TYPE*)先将0转换为一个结构体类型的指针,相当于某个结构体的首地址是0。此时,每一个成员的偏移量就成了相对0的偏移量,这样就不需要减去首地址了。

2.&((TYPE *)0)->MEMBER对该指针用->访问其成员,并取出地址,由于结构体起始地址为0,此时成员偏移量直接相当于对0的偏移量,所以得到的值直接就是对首地址的偏移量。

3.((size_t) &((TYPE *)0)->MEMBER)取出该成员的地址,强转成size_t并打印,就求出了这个偏移量。(size_t)代表无符号整数。

3、offsetof宏的使用

offsetof宏用于计算结构体Stu中成员acd相对于结构体起始地址的偏移量。

4、offsetof宏的模拟实现

5、使用注意事项

1.仅适用于结构体和联合体offsetof宏不能用于普通变量、数组或非聚合类型。

2.编译时计算offsetof宏是在编译时计算偏移量的,因此不能用于运行时动态生成的结构体类型或成员名。

3.不涉及内存访问:虽然宏的表达式看起来像在访问内存,但实际上并没有发生真正的内存访问,因为所使用的指针指向的是未分配的地址。

附图:

志同道合之人支持一下,点点赞!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 5:27:01

小白也能看懂的RLHF-PPO:原理篇

原文: https://mp.weixin.qq.com/s/8O7W8–x14-b1d3M9IS_3w LLM-RL往期文章推荐 小白也能看懂的RL-PPO 收藏&#xff01;强化学习从入门到封神&#xff1a;5 本经典教材 8 大实战项目 7个免费视频&#xff0c;一站式搞定 小白也能看懂的RLHF&#xff1a;基础篇 在上一篇…

作者头像 李华
网站建设 2026/9/9 4:43:47

当AI成为你的生活搭档:让技术有温度地守护家庭

清晨六点&#xff0c;厨房的灯光自动亮起&#xff0c;恰到好处的亮度唤醒沉睡的身体&#xff1b;客厅的空气质量监测器悄悄启动新风系统&#xff0c;过滤掉夜间积聚的微尘&#xff1b;智能药盒准时响起轻柔提示&#xff0c;提醒母亲服用降压药。这不是科幻电影场景&#xff0c;…

作者头像 李华
网站建设 2026/9/8 12:02:04

cloudflare配合ikuai使用ipv6内网穿透

首先声明&#xff1a;文章是完全公开的&#xff0c;CSDN老是设置成VIP文章&#xff0c;我知道后都改回来了&#xff0c;也找不到客服怎么搞&#xff0c;坑。 感觉ipv6访问看自己家里的视频比ipv4快。所以就研究了两天终于把这个搞出来了。确实要比ipv4快。没有显卡硬解都感觉差…

作者头像 李华
网站建设 2026/9/10 1:28:11

华为ip-prefix

一. IP-Prefix的定义 IP-Prefix&#xff08;IP前缀列表&#xff09;是华为网络设备中用于精确匹配路由前缀的过滤工具。它通过前缀掩码范围的组合定义匹配规则&#xff0c;例如匹配192.168.1.0/24但排除192.168.1.0/26的子网。与传统ACL相比&#xff0c;其优势在于&#xff1a…

作者头像 李华
网站建设 2026/9/9 9:24:35

R语言在群落生态学分析中的全流程应用:从数据处理到模型构建

在森林生态学研究中&#xff0c;系统的结构、功能与稳定性是理解森林动态与生态服务的关键内容。随着研究手段的发展&#xff0c;R语言已成为该领域的重要分析工具&#xff0c;其丰富的统计与可视化功能支持对物种多样性、空间格局及生态过程的深入解析。通过多样性指数、排序分…

作者头像 李华
网站建设 2026/9/9 22:27:39

Qwen3-14B模型部署六大常见问题与解决方案

Qwen3-14B模型部署六大常见问题与解决方案 在AI从“演示可用”迈向“生产可靠”的关键阶段&#xff0c;越来越多企业选择将大语言模型&#xff08;LLM&#xff09;私有化部署到本地或专属云环境。而在这条通往智能自动化的路上&#xff0c;Qwen3-14B 正逐渐成为中型模型中的“黄…

作者头像 李华