美文网首页
内存地址|存储数据|字节序……

内存地址|存储数据|字节序……

作者: le0nard | 来源:发表于2017-10-18 16:43 被阅读0次
    最左边一列为内存地址,(指针不同于一般变量,存的是变量的地址,在同一架构下地址长度都是相同的(cpu的最大寻址内存空间),所以不同类型的指针长度都一样你输出的4 4 4,说明指针长度为4字节可以记录的地址范围是0x00000000~0xFFFFFFFF,这个范围才是指针变量的值比如说一个char 1字节,可以存在0x0,也可以位于0xFFFFFFFF而和char占用1字节还是100字节无关,指针的范围只和机器字和系统有关比如你的32位系统,指针长度为4,在64位操作系统下那么就都是8了。)

    中间列为内存存放内容。两个一组为一个字节(8位16进制 0x00~0xff)。

    存储数据为Word时,根据硬件、应用环境、变成语言不同,会产生字节序问题。高(低)位内存地址对应高(低)位数据,高高低低或者高低高低。 举个栗子,上图(按高高低低原则)中最后两个字节。(00000114低位地址存储低位数据02)(00000115高位地址存储高位数据00)。还原成自然顺序Word类型数据后,是0002。

    高级语言(比如c++)中,32位系统指针变量放在中间栏,要字节序转换后,才是左边栏的地址。

    相关文章

      网友评论

          本文标题:内存地址|存储数据|字节序……

          本文链接:https://www.haomeiwen.com/subject/rhceuxtx.html