Как система выделяет память для массива char с использованием кодов ASCII? - PullRequest
0 голосов
/ 10 ноября 2019

У меня была задача показать, как массив представляется в памяти для char-массива системой для каждого бита массива, но у меня есть несколько вопросов.

  1. Почему я не вижу память для '\ xd '?
  2. Почему в конце представления памяти стоит 00 (1 байт в шестнадцатеричном виде, например, 0000 0000)?
  3. Почему размер 25 байтов и отображается только 24 байта? У меня x64 windows 10 (может быть это важно)
char string6[] = "\xdf' '||'f'34((75""""dvfwg6""'\vd";
unsigned char* fstr6 = (unsigned char*)(&string6);

cout << sizeof(string6);
cout << endl;
cout << "String6: ";
for (int i = 0; i < sizeof(string6); i++) {
    printf("%02X ", fstr6[i]);
}
...