|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Использование указателей
Код:
procedure TForm1.Button1Click(Sender: TObject); var A: array [1..10] of byte; P: Pointer; begin P := @A; //set second element of array to 100 using only operations with pointer "P" P := 100; ShowMessage(IntToStr(A[2])); end; Как мне присвоить второму элементу массива А значение 100, используя только операции c указателем Р? |
#2
|
||||
|
||||
А так не пойдет?
Код:
procedure TForm1.Button1Click(Sender: TObject); var A: array [1..10] of byte; P: ^byte; begin P:=@A[2]; P^:=5; ShowMessage(IntToStr(a[2])); end; |
#3
|
|||
|
|||
Код:
procedure TForm1.Button1Click(Sender: TObject); var A: array [1..10] of byte; P: Pointer; begin P := @A; //set second element of array to 100 using only operations with pointer "P" //********************** P := 100; //********************** ShowMessage(IntToStr(A[2])); // "100" end; |
#4
|
||||
|
||||
боюсь, что только если так:
Код:
procedure TForm1.Button1Click(Sender: TObject); type TArr = array [1..10] of byte; var A: TArr; P: Pointer; begin P := @A; //set second element of array to 100 using only operations with pointer "P" //********************** TArr(P^)[2]:= 100; //********************** ShowMessage(IntToStr(A[2])); // "100" end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |