[bo][un]ronaldfree[/un] 在 2008-8-30 10:47 的发言:[/bo]
前一个答案为什么是39呢?应该是否380039啊!这是为什么呢?
前一个答案为什么是39呢?应该是否380039啊!这是为什么呢?
这可能是因为他运行在32位系统下面,这时候int和long都是4个字节,换句话说都是__int32,所以那个b其实就相当于a[0]。
这时候内存里是这样的:
------------------------------------------
b |
------------------------------------------
a[0] | a[1]
------------------------------------------
c[0] c[1] c[2] c[3] |
------------------------------------------
0x39 0x00 0x00 0x00 | 0x38 0x00 0x00 0x00
------------------------------------------
额外说一点,C++里的LONG是32位,而在C#里,long是64位。在跨平台调用和数据封送时,这些都是必须注意的问题。
[[it] 本帖最后由 hoodlum1980 于 2008-8-30 12:47 编辑 [/it]]