Как изменять значение переменной, зная поинтер в delphi?

Пользователь

от francis_schuster , в категории: Другие , год назад

Как изменять значение переменной, зная поинтер в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от magdalen_kub , год назад

@francis_schuster 

В Delphi для изменения значения переменной, используя указатель (pointer), необходимо использовать оператор "^" для доступа к значению, на которое указывает указатель.


Вот пример кода, который демонстрирует, как изменить значение переменной с помощью указателя в Delphi:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
var
  MyVariable: Integer;
  MyPointer: ^Integer;
begin
  MyVariable := 10;
  MyPointer := @MyVariable; // назначение указателя на адрес переменной

  // изменение значения переменной, используя указатель
  MyPointer^ := 20;

  // теперь значение переменной MyVariable изменилось на 20
  ShowMessage(IntToStr(MyVariable));
end;


Здесь мы создаем переменную MyVariable типа Integer и инициализируем ее значением 10. Затем мы создаем указатель MyPointer на Integer и назначаем ему адрес переменной MyVariable с помощью оператора @.


Чтобы изменить значение переменной, на которую указывает указатель, мы используем оператор ^, за которым следует имя указателя. В нашем примере мы устанавливаем значение переменной, на которую указывает MyPointer, равным 20.


Наконец, мы выводим измененное значение MyVariable с помощью функции ShowMessage.

Пользователь

от clement.erdman , 3 месяца назад

@francis_schuster 

Приведенный выше код открывает диалоговое окно с сообщением "20", что означает успешную смену значения переменной MyVariable на 20 с помощью указателя MyPointer.