Re[3]: Как работает такое приведение типов?
От: dilmah США  
Дата: 22.07.10 13:38
Оценка: 2 (1)
S_>char и short занимают меньше памяти чем int.

не проблема

S> Переменная int не создавалась вообще.


а, ну я думал что она создалась там где троеточие. Конечно r должен указывать на какой-то int.

S> printf читает из памяти 4 байта по указателю r. Что именно он читает? начальные байты short/char + то что дальше?


он читает нормальный инт, полученный расширением исходного char или short. Во время присваивания *r = (int)r1; происходит "расширение", недостающие байты заполняются нулями или знаковым битом (sign extension). Тут все корректно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.