免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6477 | 回复: 29
打印 上一主题 下一主题

[C] 请较大虾们一道公司考试题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-17 17:22 |只看该作者 |倒序浏览
具体如下:
有如下结构
struct A
{
   int a;
  char b;
  short c;
}
请问&((A *)0.b)有什么作用??请举例说明。

  今天公司考试出了这么道题,当时就发懵了,请教下大虾们?

论坛徽章:
0
2 [报告]
发表于 2008-10-17 17:32 |只看该作者
结果 == 4;

论坛徽章:
0
3 [报告]
发表于 2008-10-17 17:34 |只看该作者
是啊  偏移量

论坛徽章:
0
4 [报告]
发表于 2008-10-17 17:35 |只看该作者
老实说,我看不出来这样写有什么用。。

论坛徽章:
0
5 [报告]
发表于 2008-10-17 17:41 |只看该作者
情景分析第一章详细的提过这个 貌似内核里面有这个宏(俺也就翻过第一章。。。)
说起来 每次看到0地址  都在考虑这玩意能不能编译通过。。。

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
6 [报告]
发表于 2008-10-17 17:43 |只看该作者
感觉跟那个什么offset宏类似么

论坛徽章:
0
7 [报告]
发表于 2008-10-17 17:43 |只看该作者

看了前面的帖子,好像有所理解了

#define get_struct_addr_from_member_addr(p, stru, m) \
(stru*)( (char*)p - (char*)&(((stru*)0)->m) )

恩,是这样,原理是,用当前分量的地址-该分量距离结构体变量首地址的距离,即得到结构体变量的首址。。


应该是该分量距离结构体变量首地址的偏移量吧!

论坛徽章:
0
8 [报告]
发表于 2008-10-17 17:47 |只看该作者
正确答案:

分量距离结构体变量首地址的偏移量

终于明白了。。。

论坛徽章:
0
9 [报告]
发表于 2008-10-17 17:55 |只看该作者

回复 #1 想念水的鱼 的帖子

应该是“&((A *)0->b)”吧

论坛徽章:
0
10 [报告]
发表于 2008-10-18 19:34 |只看该作者
有没有高手讲解一下?
:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP