Как обращаться к значению записи по указателю? - Pascal ABC
Формулировка задачи:
по указателю а хранится значение адрес которого хранится в а, как обращаться к адресу майбукрек nil?
Решение задачи: «Как обращаться к значению записи по указателю?»
textual
Листинг программы
var
a: Integer;
b: ^Integer;
begin
b:=@a; { b указывает на a }
b^:=5; { целому по указателю b (мы помним, что это a), присвоено 5 }
WriteLn(a); { в чём несложно убедиться }
a:=3;
WriteLn(b^); { b^ и a адресуют одну и ту же область памяти }
end.
Объяснение кода листинга программы
- В начале объявляются две переменные: a и b. Переменная a типа Integer, а переменная b является указателем на тип Integer.
- Затем переменная b присваивается значение @a, что означает, что b указывает на ту же область памяти, что и a.
- Далее, переменная b присваивается значение 5, что изменяет значение переменной a, так как они указывают на одно и то же место в памяти.
- Затем выводится значение переменной a, что подтверждает, что оно было изменено.
- После этого переменная a присваивается значение 3.
- И, наконец, выводится значение переменной b, которое также будет равно 3, так как обе переменные указывают на одно и то же место в памяти.