больше переменных богу переменных
указатели для трона указателей
указатели для трона указателей
В переменную "a" запишется копия значения указателя, что тут запрещенного?
Т.е. даже удалив указатель, никаких проблем с обычной переменной не появиться.
Т.е. даже удалив указатель, никаких проблем с обычной переменной не появиться.
ТСЯ
Ну сохранишь ты в переменной значение четырех байт из начала памяти. Что страшного? Ты ж не писать туда собрался)))
Указатель разыменован, читай: в интовую переменную A копируем значение 0.
Прокакие значения байт ты говоришь?
Прокакие значения байт ты говоришь?
Только указатель инициализирован на нулевой адрес. А читать по нулевому адресу - а-та-та!
С чего бы? Обычно по нулевому адресу, который является точкой входа в программу, лежит адрес начала кода. Например, в контроллерах AVR нулевой адрес указывает на начало прошитой программы, т.к. нулевой адрес у него это адрес прыжка после аппаратного сброса.
Что такое указатель? Это адрес в памяти. Его установили на нулеовй адрес. Это не запрещено. Значение 0, он же NULL, просто по договоренности считается запретным. На самом деле он просто указывает на начало программы. Именно поэтому в плюсах добавили std::nullptr. Компилятор может абсолютно спокойно привести байт на который, указывает указатель, и трех его соседей к инту, и скопировать. Может быть косяк, если есть защита от чтения (да, бывает и такая херня). Скорее она будет защищена от записи.
*pointer = 0xDEADF00D;
__asm
call dword ptr[a]
call dword ptr[a]
Чтобы написать коммент, необходимо залогиниться