博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结构体偏移量函数offsetof
阅读量:2351 次
发布时间:2019-05-10

本文共 383 字,大约阅读时间需要 1 分钟。

计算结构体偏移量的函数多描述如下:

#define offsetof(s,m) (size_t)&(((s *)0)->m)

// Microsoft x86 compiler (version 7)

#define offsetof(s,m) (size_t)(unsigned long)&(((s *)0)->m)

// Diab Coldfire compiler

#define offsetof(s,memb) ((size_t)((char *)&((s *)0)->memb-(char *)0))

在这里让人迷惑的主要就是0这个数字,其实在这里就是一个编程技巧,将0地址映射成结构体s类型,我们并不会修改这一区域,仅用来取偏移量。如果从0地址开始的结构体,那么m的地址就是成员m的偏移量。

这些用法多数出自C语言,要想用明白一种语言,还需要练习呀。

转载地址:http://nvrvb.baihongyu.com/

你可能感兴趣的文章
结合MIME C++ library与CURL发送带附件的邮件
查看>>
CMake初步(1)
查看>>
CMake生成VS2013项目失败的解决办法
查看>>
什么是RST包,什么是三次握手,什么是四次握手
查看>>
几种TCP连接中出现RST的情况
查看>>
HTTP的长连接和短连接
查看>>
TCP,IP,HTTP,SOCKET区别和联系
查看>>
域名解析过程,很好的一张图收藏了
查看>>
整理时下流行的浏览器User-Agent大全
查看>>
IAAS、SAAS 和 PAAS 的区别、理解
查看>>
RichEdit对ole 对象的相关支持总结
查看>>
(分享)win10下双显示屏独立设置不同缩放率的方法
查看>>
High DPI Settings in Windows
查看>>
几年来的工作与生活感悟
查看>>
切换输入法导致程序死机的解决办法
查看>>
使用ShellExecute打开目标文件所在文件夹并选中目标文件
查看>>
debug下情况良好、release下频繁奔溃问题的跟踪与解析
查看>>
数据透传的概念
查看>>
Wireshark TCP报文到达ACK确认机制
查看>>
一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK
查看>>