您的位置:首页 > 其它

如何通过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;

这样才对
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: