В вашей реализации (и, вероятно, во многих других) каждый int
должен находиться по адресу, который делится на sizeof int
, который часто равен 4.
С другой стороны, char
может быть по любому адресу.
Это похоже на присвоение 3.25
переменной int
. Это также невозможно.
Таким образом, если у вас есть неверный указатель , вы, вероятно, получите исключение от вашей машины, и технически этот код вызывает неопределенное поведение .