Непонятная работа указателей
- Войдите на сайт для отправки комментариев
Пт, 17/11/2017 - 14:36
Доброго времени суток!
Помогите разобраться с указателем.
void setup() { Serial.begin(9600); int a = 65535; int *b = &a; Serial.print((uint16_t)&a); Serial.print(":"); Serial.println(*((byte*)&a)); Serial.print((uint16_t)&b); Serial.print(":"); Serial.println(*((byte*)&b)); } void loop() { }
Извините, случайно нажал сохранить, а как отредактировать первый пост не нашел. Продолжу сдесь...
так вот. Указатель b ссылается на ячейку памяти переменной a, т.е. это должен быть один и тот же адрес, но при выводе этих значений получаю разные адреса памяти:
Что делаю не так?
А, разобрался, надо вот так.
Присваивать знаковому инту 65535 черевато дальнейшей попаболью
Присваивать знаковому инту 65535 черевато дальнейшей попаболью
Дык этож просто для проверки, чтобы сразу видно было два подряд идущих байта 0xff
Дык этож просто для проверки, чтобы сразу видно было два подряд идущих байта 0xff
Я просто предупредил. Мне все равно. Это ваши собственные "плохие практики" программирования.
Кто мешал использовать 0xFFFF ?
ок, исправлюсь