char S[6] = "18243";
以下字符串在大端和小端系统中如何表示?
char
类型包含一个字节。 因此,该类型不涉及字节序。
在您的示例中,您有一个数组。 数组元素一个接一个地存储在内存中。 所以S[0]
首先出现,然后出现S[1]
,等等:
-----------------------------------
S | '1' | '8' | '2' | '4' | '3' | 0 |
-----------------------------------
> Endianess 仅适用于数字(大于一个字节(。
无论字节序如何,字符串的表示方式都相同:第一个字母位于最低有效地址。
假设编译器/链接器/加载器决定将 S 放在地址 0x420000。
0x420000 '1'
0x420001 '8'
0x420002 '2'
0x420003 '4'
0x420004 '3'
0x420005 ' '