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

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

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

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

我认为result等于data[8]地址-2对于的内容,数组在内存的地址是不连续的,怎么知道result的值呢?
...全文
186 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧