如何通过offsetof 动态的给结构体或者类成员变量赋值
2016-07-21 17:22
447 查看
结构体
typedef struct {
char a;
char b;
int abc;
}stTest;
代码如下:
int m = offsetof(stTest, abc);
stTest test ;
*(int*)(((char*)(&test))+m) = 1231424;
刚开始我犯了一个错误,错误的写法如下:
*(int*)(((&test))+m) = 1231424;
必须要将(&test)转为char* 再加上成员变量偏移量,才能正确通过地址找到变量位置。
*(int*)(((char*)(&test))+m) = 1231424;
这样才对
typedef struct {
char a;
char b;
int abc;
}stTest;
代码如下:
int m = offsetof(stTest, abc);
stTest test ;
*(int*)(((char*)(&test))+m) = 1231424;
刚开始我犯了一个错误,错误的写法如下:
*(int*)(((&test))+m) = 1231424;
必须要将(&test)转为char* 再加上成员变量偏移量,才能正确通过地址找到变量位置。
*(int*)(((char*)(&test))+m) = 1231424;
这样才对
相关文章推荐
- unity界面进度条显示一个数
- 初识JAVA及环境变量的配置
- 终端、作业控制与守护进程
- Android带清除功能的输入框控件ClearEditText
- 统计string中的字符类型和个数
- 笨小熊
- 将自定义的类的对像保存在本地
- window.open参数设置及如何全屏显示(转)
- BootStrap 滚动监听插件
- SVN环境搭建与使用
- java项目开发该学些什么,有什么参考书籍?
- jquery ajax使用范围
- Restaurant (贪心)
- DOCUMENT对象
- 一个关于 字符与字符串 的 小问题
- [翻译]Speaking SOAP with Android——谈一谈android的soap通信
- 【学习】原生js学习笔记1:添加class和使input为不可用
- 代理模式之静态代理
- tomcat配置文件server.xml详解
- Java基本语法-----java流程控制语句