int b[2], *ptr;
b[0] = 5;
b[1] = 7;
ptr = &b[0];
*ptr++ = 66;
printf("%d", *ptr);
Почему мне разрешено делать строку *ptr++ = 66
, хотя бит = 66
, похоже, ничего не делает? Когда я печатаю *ptr
, это 7. Кто-нибудь может объяснить, почему? Разве компилятор не должен жаловаться, что бит = 66
не дает эффекта?
Не является ли *ptr++ = 66
в основном эквивалентным 7 = 66
?