У меня есть этот код:
#include <stdio.h>
int func(unsigned int *a) {
printf("(func) Value: %d\n", *a);
}
int main() {
unsigned char a = 255;
printf("Value: %d\n", a);
printf("Bytes: %d %d %d %d\n\n", *&a, *(&a + 1), *(&a + 2), *(&a + 3));
func((unsigned int *) &a);
return 0;
}
У меня есть вывод этой программы:
Value: 255
Bytes: 255 0 22 234
(func) Value: -367656705
Почему у меня отрицательное значение func, хотя тип без знака int?