关闭

算出任意struct的某个成员的偏移量

标签: struct
619人阅读 评论(0) 收藏 举报
题目:定义一个宏,要求算出任意struct的某个成员的偏移量
 
#define get_struct_member_offside(stru, m)
(char *)&((stru*)0)->m
 
进一步,如果知道某个成员的地址、struct名和成员名,怎么求这个struct变量的地址呢?
 
可以这样:
#define get_struct_addr_from_member_addr(p, stru, m)
(struct stru*)( (char*)p - (char*)&( (( struct stru*)0)->m) )
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:644268次
    • 积分:7493
    • 等级:
    • 排名:第2867名
    • 原创:51篇
    • 转载:364篇
    • 译文:0篇
    • 评论:72条
    最新评论