Little Endian和Big Endian中的内存表示字符串

时间:2018-10-08 13:13:51

标签: c memory endianness cpu-architecture

char S[6] = "18243";

以下字符串如何在大字节序和小字节序系统中表示?

3 个答案:

答案 0 :(得分:5)

尾数仅适用于数字(大于一个字节)。

无论尾音如何,字符串都以相同的方式表示:第一个字母位于最低有效地址。

答案 1 :(得分:5)

类型char保留一个字节。因此,该类型不涉及字节序。

在您的示例中,您有一个数组。数组元素一个接一个地存储在内存中。因此,S[0]首先出现,然后是S[1],依此类推:

  -----------------------------------
S | '1' | '8' | '2' | '4' | '3' | 0 |
  -----------------------------------

答案 2 :(得分:2)

假设编译器 / 链接器 / loader决定将S放置在地址0x420000。

0x420000 '1'
0x420001 '8'
0x420002 '2'
0x420003 '4'
0x420004 '3'
0x420005 '\0'