С какой степенью детализации я могу получить доступ к основной памяти с помощью указателей? - PullRequest
0 голосов
/ 19 января 2019

Если бы я назначил указатель "p1" на общий адрес, увеличил этот адрес на наименьшую возможную величину и назначил этот увеличенный адрес указателю "p2", сколько бит памяти будет между адресами два указателя? Ответ зависит от процессора? Спасибо

1 Ответ

0 голосов
/ 19 января 2019

Адреса в любом компьютере являются байтовыми адресами. Невозможно иметь меньшую степень детализации при рассмотрении доступа к памяти.

Вы можете полностью получить доступ к последовательным байтам в памяти, увеличив указатель, но у вас должен быть указатель на байты (например, char или unsigned char в C).

Если ваш указатель указывает на объект другого типа (целые числа, числа с плавающей запятой, структуры и т. Д.), Увеличение указателя приведет вас к следующему объекту. Например, если p является указателем на int (4 байта), p ++ добавит к p размер int (4).

Google "арифметика указателей", если не знакома с этими понятиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...