免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: jiony
打印 上一主题 下一主题

[C] 讨论下这个题目,请不要先编译 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-12-07 11:52 |只看该作者
原帖由 langue 于 2009-5-7 11:25 发表
第一个没有争议,就是 b。

现在看第二个。

32-bit, LE:
  07 00 00 00 : 08 00 00 00 : 09 00 00 00 : 0A 00 00 00 : 0B 00 00 00

32-bit, BE:
  00 00 00 07 : 00 00 00 08 : 00 00 00 09 : 00 00  ...


顶这个!

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
22 [报告]
发表于 2009-12-07 11:55 |只看该作者
utu: utu: utu: utu: utu: utu: utu: utu: utu: utu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu: :outu:

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
23 [报告]
发表于 2009-12-07 12:17 |只看该作者

论坛徽章:
0
24 [报告]
发表于 2009-12-07 12:19 |只看该作者

回复 #20 jiony 的帖子

1.虽然值一样,但是类型不一样
2.为了让指针移动一个字节的长度

论坛徽章:
0
25 [报告]
发表于 2009-12-07 13:02 |只看该作者
b
8000000

==================

&是取址操作
&a自然是得到一个指针,关键是得到的这个指针是什么类型!

作个对比

int i;

那么&i的类型就是int*

所以&a的类型应该是int (*)[5]

所以&a + 1跨过了20个字节,指向了11的下一个字节

ptr1[-1]自然就是b

===================
先看下内存的情况(小端,地址左到右,上到下增大)
07 00 00 00
08 00 00 00

a是一个指针,(int)a就是把指针转换成int, + 1就到了紧跟07后面的那个地址,再转回int* ,进行解引用操作就得到8000000

===================
总结,看代码还真是马虎不得!惭愧!

[ 本帖最后由 wolfired 于 2009-12-7 13:13 编辑 ]

论坛徽章:
0
26 [报告]
发表于 2009-12-07 13:34 |只看该作者
ptr2没有按照4字节对齐,发生段错!

论坛徽章:
0
27 [报告]
发表于 2009-12-07 14:45 |只看该作者
7l

论坛徽章:
0
28 [报告]
发表于 2009-12-07 15:19 |只看该作者

回复 #1 jiony 的帖子

可能会出现 Segmentation fault. 因为平台是不是32的原因。

论坛徽章:
0
29 [报告]
发表于 2009-12-07 17:12 |只看该作者

回复 #28 cnzhaopeng 的帖子

sun 32平台就是bus error

论坛徽章:
0
30 [报告]
发表于 2009-12-08 14:08 |只看该作者
原帖由 langue 于 2009-5-7 11:25 发表
第一个没有争议,就是 b。

现在看第二个。

32-bit, LE:
  07 00 00 00 : 08 00 00 00 : 09 00 00 00 : 0A 00 00 00 : 0B 00 00 00

32-bit, BE:
  00 00 00 07 : 00 00 00 08 : 00 00 00 09 : 00 00  ...


是不是结果多写了几个0啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP