0x - это шестнадцатеричное число в плюсах
|
Да, но раз операция
&a возвращает простое шестнадцатеричное число, то почему компилятор говорит "Cannot convert 'int*' to 'int'."?
2. От типа данных, зависит размер памяти, который будет занимать данное. И чтобы знать сколько нам ваще получать битов данных, хранится и тип указателя. Либо для каждого участка в памяти, нада было хранить заголовок о занимаемой памяти - а это тупизм (расход памяти впустую).
|
То есть если бы не было типа у указателей, то программа бы не знала, сколько брать байтов и сколько резервировать при операции
*p?
Но как так, ведь когда ты пишешь
то компьютер использует именно 4 байта, а значит, знает, что переменная
a имеет тип
integer. Как же тогда это организовано?
3) Потому, что глобальные создаются один раз вначале и их "не в падлу" обнулить, а вот локальные могут генериться внутри ф-ции которая вызывается много-много раз в цикле и все лишние телодвижения с ними замедляют программу.
Понял, спасибо :D
А как одна программа узнает, что какое-то место занято памяти занято другой программой?
А может лучше купить/нагуглить книжку по С/С++? Это будет эффективнее вопросов на форуме.
|
Я прошел тему "Указатели" в учебнике, но там про это не было написано.
Спасибо за ответы!