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

原创 2015年07月09日 09:12:52
#define find(struc,e) (size_t) &((struct struc*)0)->e

struct struc{};

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

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

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

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

结构体获取成员偏移值、结构体内存中字节对齐问题

// StructOffset.cpp : Defines the entry point for the console application. // #include "stdafx.h" #...
  • Liuchuang_MFC
  • Liuchuang_MFC
  • 2017年02月21日 15:22
  • 265

C++:获取类成员的偏移量

出自:http://blog.163.com/henan_lujun/blog/static/19538333201078111820803/ 第一种方式是MFC里使用广泛的宏:对空对象成员...
  • u011390632
  • u011390632
  • 2014年02月28日 16:39
  • 1637

使用宏定义来获取一个结构体成员相对于该结构体首地址的偏移量

目的:获取一个结构体成员相对于该结构首地址的偏移量 C代码如下:#include #define GET_OFFSET(data,member) (size_t)(&(((typeof(d...
  • baidu_33725271
  • baidu_33725271
  • 2017年04月05日 19:53
  • 255

从Linux内核代码中学习获得结构体成员偏移量的方法

作者:阿波链接:http://blog.csdn.net/livelylittlefish/article/details/9750593(几年前的一篇文章,翻出来共享一下。)Content0. 引子...
  • livelylittlefish
  • livelylittlefish
  • 2014年03月05日 19:56
  • 6025

四字节对齐,获取结构中元素的偏移量

内存对齐详解 C/C++内存对齐 //C++中虚函数会在结构体中保存一个虚函数指针-四字节 一、什么是字节对齐,为什么要对齐?     现代计算机中内存空间都是按照byte划分的,...
  • Howard_Liu1314
  • Howard_Liu1314
  • 2012年11月26日 20:37
  • 2091

求结构体成员偏移量的三种方法

#include #include typedef struct { char a; int b; double c; }type_t; //第一个...
  • zhaoyong26
  • zhaoyong26
  • 2017年01月13日 16:27
  • 799

求结构体元素的偏移量

求结构体元素的偏移量 1.使用宏定义 2.直接来求
  • niu91
  • niu91
  • 2014年01月05日 12:36
  • 3986

计算结构体成员偏移量

问题写一个宏计算出结构体成员的偏移量。 假设有如下一个结构体,要计算成员c的在结构体中的偏移量。typedef struct Type_t{ char a; // 0 int b;...
  • encourage2011
  • encourage2011
  • 2016年09月07日 22:56
  • 4369

宏定义求结构体某个变量相对其偏移量的问题

程序员面试宝典的问题之一,做的时候觉得有些小问题不懂,就搜了一下,整理整理,再加一点自己的理解。 题目: 用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量 如:s...
  • laurent1987
  • laurent1987
  • 2012年06月13日 10:42
  • 1633

取(结构体)成员偏移量

#include /* *取(结构体)成员偏移量 * */ #define offset(TYPE,MEMBER) ((int)&((TYPE *)0)->MEMBER) ...
  • M_O_Bz
  • M_O_Bz
  • 2013年01月26日 12:18
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过宏定义取结构本中成员的偏移量
举报原因:
原因补充:

(最多只允许输入30个字)