Есть 4х байтовый массив
char CNIP[4];В который я копирую таккже 4 байта
memcpy (CNIP, packet->payload + 16, 4);
А затем пытаюсь вывести на экран первый байт (значение которого кстати в 10й сс = 130)
Вот такой
printf("test %.3d", CNIP[0]);
Дает -126 на экране
А вот если написать так
unsigned char *p;
p = &CNIP;
printf("test %.3d", *p);
На экране появляется искомое чисто 130
Собственно вопрос, разве CNIP[0] не есть обращение к значению первого байта массива? Почему приходится делать финт ушами и выводить значение указателя на первый элемент того же самого массива? Заранее спасибо.