关于由结构体首地址算其内部的一些变量时所用的偏移和CONTAINING_RECORD宏
来源:互联网 发布:数据库排序 编辑:程序博客网 时间:2024/06/08 15:01
如果定义一个结构体A,用其定义一个变量a,我们由a访问结构体中变量时,有时候会直接想到用"&a+30"(此时30是偏移字节),事实上并不是在&a上加30,应将&a进行以下强转例如:“(char *)&a+30”,最好是在获得地址后将其转成char*类型的,因为char*是单字节的。
其实,结构体内部变量的地址,不止跟其相对于结构体首地址有关,还跟整个工程的结构体字节对齐方式有关,关于对齐方式:#pragma pack(n)可用这个进行设置
对齐方式的相关问题可以上网上搜,很多的
一些相关的网页:
结构体字节对齐:
http://www.cnblogs.com/longlybits/articles/2385343.html
点击打开链接
由结构体变量地址求首地址:
http://bbs.csdn.net/topics/390480780
点击打开链接
宏CONTAINING_RECORD 详解.doc(关于结构体这个问题的)
http://pan.baidu.com/s/1tELvf
点击打开链接
- 关于由结构体首地址算其内部的一些变量时所用的偏移和CONTAINING_RECORD宏
- 指针用法之一:给定结构体求某变量的偏移量,给出某变量偏移量求结构体首地址
- 如何取得结构变量的偏移地址
- 宏定义求结构体某个变量相对其偏移量的问题
- 关于结构体中自定义变量的偏移(offset)
- 用宏求结构体的内存偏移地址
- 结构体成员变量的偏移值
- 获取成员变量的地址和偏移地址
- 如何使用宏求结构体的内存偏移地址
- 关于结构体的偏移量
- 关于偏移地址的问题
- 结构体成员地址在结构体内的偏移
- 关于字节对齐、结构体偏移地址、字位段问题的例子程序说明
- 关于C语言结构体成员变量偏移的一点思考
- 查看结构体成员的大小和偏移地址的方法
- 查看结构体成员的大小和偏移地址的方法
- C学习笔记 7 写出一个宏,求任意结构体成员相对于结构体首地址的偏移。
- 使用宏定义来获取一个结构体成员相对于该结构体首地址的偏移量
- 求第K小/大的数(树状数组解法)
- 内存中数据如何分配
- HDU 1052 Tian Ji -- The Horse Racing
- hdu 1254推箱子(两次bfs)
- javascript面向对象(属性和方法应注意的问题)
- 关于由结构体首地址算其内部的一些变量时所用的偏移和CONTAINING_RECORD宏
- Linux 网络编程 简单例程1
- uva 10029 - Edit Step Ladders(dp + 二分)
- C#实现抽奖程序(1)
- 文章
- ACM POJ 3020 Antenna Placement 二分匹配
- 第二章
- 用递归计算C(m,n)
- 分桶法和平方分割(对区间的操作)