看到面试的一道题目,自己不是很理解

玉怀一捧雪 2015-03-19 08:04:53

看到这道题目,我的理解是

pdata[3] = &data[8];
result = *(&data[8]-2);

我认为result等于data[8]地址-2对于的内容,数组在内存的地址是不连续的,怎么知道result的值呢?
...全文
155 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dceacho 2015-03-20
&data[10] 或者 pdata[3][-2]===>pdata[3][0xfffffffe]=====>内存溢出,程序崩溃
回复
dceacho 2015-03-20
pdata[3][-2]不是二维数组取值么
回复
of123 2015-03-20
指针数组 pdata 所赋的值是 4 个地址: pdata[0] = &data[11]; pdata[1] = &data[10]; pdata[2] = &data[9]; pdata[3] = &data[8]; 所以,pdata[3][-2] 实际上是相当于访问以 &data[8] 为基址的数组的 -2 个元素。 不过,这种题目就是要为难参试者。实际应用中,没有人会写这样可读性差有没有实际效益的代码。
回复
zhxianbin 2015-03-19
0x88 的前 2个 0x66
回复
相关推荐
发帖
单片机/工控
创建于2007-09-28

2.6w+

社区成员

硬件/嵌入开发 单片机/工控
申请成为版主
帖子事件
创建了帖子
2015-03-19 08:04
社区公告
暂无公告