У меня есть следующий код, который инициализирует массив беззнаковых символов:Инициализировать массив символов без знака в с
unsigned char ultralightAtr[] = {0x3b,0x8f,0x80,0x01,0x80,0x4f,0x0c,0xa0,0x00,0x00,0x03,0x06,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x68};
Когда я инспектировать ultralightAtr в GDB не получить то же значение:
(gdb) x/20x ultralightAtr
0x7fffffffdd40: 0x70 0xdd 0xff 0xff 0xff 0x7f 0x00 0x00
0x7fffffffdd48: 0x70 0x19 0xbd 0xf7 0xff 0x7f 0x00 0x00
0x7fffffffdd50: 0x00 0xc7 0xfd 0xf7
(gdb)
Я делаю что-то неправильное, инициализируя массив, или это что-то не так с тем, как я печатаю содержимое памяти в gdb?
Не могли бы вы разместить соответствующий код и последовательность команд gdb, которые вы использовали? – EOF
* Когда вы рассматриваете массив? Где массив? Является ли это локальной переменной внутри функции? Можете ли вы показать нам [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) вашей программы? Вы нигде не перезаписываете массив? –
Вам нужно запустить код, по крайней мере, в начале 'main()', чтобы код инициализации c запущен и инициализирован 'ultralightAtr'. Вы это сделали или работаете, сразу после загрузки программы? –