Напишите программу, чтобы определить, является ли компьютер широкоэкранным или мало-endian.
bool endianness() {
int i = 1;
char *ptr;
ptr = (char*) &i;
return (*ptr);
}
Итак, у меня есть вышеуказанная функция. Я действительно не понимаю. ptr = (char *) & i, который, я думаю, означает указатель на символ по адресу, где сидит i, поэтому, если int составляет 4 байта, например ABCD, мы говорим об A или D, когда вы вызываете char * на этом? и почему?
Может кто-нибудь объяснить это более подробно? Спасибо.
Так конкретно, ptr = (char *) & i; когда вы набрасываете его на char *, какую часть & я получаю?