#define find(struc,e) (size_t) &((struct struc*)0)->e
struct struc{};

(struct strc*)将strc为一个结构体指针,指向地址为0的位置,

取结构体成员变量的地址,

然后将其强制转换成int型。

因为起始地址为0,所以成员成变的地址就是它的偏移量。

通过宏定义取结构本中成员的偏移量相关推荐

  1. C++/C 宏定义(define)中# ## 的含义(转)

    参考:http://www.cnblogs.com/little-ant/p/3463080.html http://hi.baidu.com/kiraversace/item/1148ee05714 ...

  2. 获取结构体中变量的偏移量

    C/C++获取结构体中变量的偏移量 1.某些特殊需求下,我们需要知道某个变量在其结构体中的偏移位置. 通常的做法就是定义一个宏变量,如下: #define OFFSET(structure, memb ...

  3. C++57个入门知识点_17 类的访问权限及C语言模拟类的封装(类的私有权限突破方法:编译期进行权限检查,运行期通过指针修改类的私有成员变量;利用函数指针对结构体中成员变量进行修改;CPU大小尾排列)

    接上篇:C++57个入门知识点_16 类的标准写法(类名.成员变量.成员函数及对象命名规则:成员变量一般为私有,成员函数为公有并暴露给外部使用成员变量:防止类过大,声明写在.h,实现写在.cpp,调用 ...

  4. python怎么宏定义符号变量_python中定义宏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 什么是宏? 宏类似python中的函数,可以传参数进去,但不能有返回值! 在实际 ...

  5. 枚举,联合,宏定义,结构体

    一,枚举 (1)枚举也可以用来创建新的数据类型,枚举类型存储区就是一个整数类型存储区,只不过这个存储区里只能记录有限的几个整数(2)声明枚举类型时需要提供一组名称,每个名称代表一个整数,这些整数都可以 ...

  6. Linux内核代码宏定义,Linux Kernel源代码中与段有关的重要宏定义

    __init, __initdata等属性标志,是要把这种属性的代码放入目标文件的.init.text节,数据放入.init.data节──这一过程是通过编译内核时为相关目标平台提供了xxx.lds链 ...

  7. 修改结构体中成员的值

    #include <iostream> using namespace std; struct student {     char name[10];     float grade; ...

  8. php 如何宏定义,php – 在html中实现宏定义的方法

    也许显而易见,但C预处理器可以完成这项工作. index._html #define _em(a) a #define _image(a, b) #define _list(a, b, c) a \ ...

  9. 枚举(enum)、宏定义(#define)、结构体(struct)的拾遗

    1.宏定义 1.1.不带参数的宏定义 #define 标识符 字符串           例如:#define PI 3.1415926 说明: (1)宏名一般习惯用大写字母表示,但并非规定,也可以用 ...

最新文章

  1. 26个类型的常见面试精选总结(建议收藏)
  2. R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行SpatialSign变换(将数据投影到单位圆之内)、设置method参数为spatialSign
  3. python到底可以做什么-Python究竟是什么?能干嘛?
  4. 技术分享连载(六十)
  5. oracle 存储 更新,oracle 更新空间数据存储过程语句
  6. FAILED: Error in metadata: MetaException(message:Got exception: java.net.ConnectException
  7. Sublime Text 3新建工程
  8. IBM发布JumpGate 连接OpenStack和公有云
  9. 键是什么意思_化学提高不饱和键是什么意思
  10. ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
  11. 基于FPGA的实时图像边缘检测系统设计(下)
  12. [后缀自动机 模板题 || 字符串Hash] HDU 4622 Reincarnation
  13. JS验证通过之后才提交表单
  14. linux-使用screen后台运行命令,防止断网导致异常退出,命令没运行完成
  15. systemctl的常用命令和使用说明
  16. Edittext不自动获取焦点的方法
  17. ubuntu 下蓝牙无法连接
  18. 小谈 - web模仿手机打电话与正则表达式
  19. 《简约之美-软件设计之道》- 笔记
  20. jQuery仿Android锁屏图案应用插件

热门文章

  1. 一个秒杀系统的设计思考(整体思考,收藏了)
  2. 原型设计模式—解决随机乱序出试卷(试题顺序、选项顺序随机打乱)
  3. django-q快速上手定时任务
  4. 天津滨海服务外包产业园年底投入使用
  5. 云计算 第4章 云计算与移动互联网/物联网
  6. HTML中option和input的区别,option
  7. 【ThreeJS基础教程-初识Threejs】1.5 选择合适的相机与相机切换
  8. 锤子手机获工信部入网许可:清晰照曝光
  9. 托管代码和非托管代码的区别
  10. Android 广告包使用之字节穿山甲介绍