Строка представления памяти в Little Endian и Big Endian - PullRequest
0 голосов
/ 08 октября 2018
char S[6] = "18243";

Как следующая строка представлена ​​в системах с прямым и обратным порядком байтов?

Ответы [ 3 ]

0 голосов
/ 08 октября 2018

Тип char содержит один байт.Из-за этого с этим типом не связано никакого порядка байтов.

В вашем примере у вас есть массив.Элементы массива хранятся один за другим в памяти.Итак, сначала появляется S[0], затем S[1] и т. Д.:

  -----------------------------------
S | '1' | '8' | '2' | '4' | '3' | 0 |
  -----------------------------------
0 голосов
/ 08 октября 2018

Допустим, компилятор / компоновщик / загрузчик решил поместить S по адресу 0x420000.

0x420000 '1'
0x420001 '8'
0x420002 '2'
0x420003 '4'
0x420004 '3'
0x420005 '\0'
0 голосов
/ 08 октября 2018

Endianess применяется только к числам (больше одного байта).

Строка представляется одинаково, независимо от порядка байтов: первая буква по младшему значащему адресу.

...