![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
lopata |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 99 Пол: Женский Реальное имя: vera Репутация: ![]() ![]() ![]() |
Только начала изучать указатели. Не совсем все понимаю. В частности не мог бы кто-нибудь объяснить простой пример :
program Pointer1;
type
TArr = array[1..5] of integer;
var
PArr: лТАгг; {Указатель на массив}
Arr: TArr;
i: integer;
begin
PArr := @Arr; {PArr содержит адрес первого элемента массива Arr}
for i := 1 to 5 do
begin
Write(1,'-й элемент массива = ');
Readln(PArrA[i]); {Учитывая то, что PArr указывает
на первый элемент массива Arr,
PArrA - это аналог идентификатора Arr}
end;
for i := 1 to 5 do
begin
PArr := @Arr[i]; {PArr содержит адрес i-го элемента массива Arr}
Writeln(PArrA[1]); {PArrA - значение i-го элемента массива}
end;
end.
Не понятно почему указывает на первый элемент : PArr := @Arr; {PArr содержит адрес первого элемента массива Arr}
и PArr := @Arr[i]; {PArr содержит адрес i-го элемента массива Arr}
Writeln(PArrA[1]); {PArrA - значение i-го элемента массива}
Совершенно непонятно что там делает Единица .Writeln(PArrA[1]); Объясните пожалуйста и Не ругайтесь, только). Действительно хочу разобраться. Сообщение отредактировано: lopata - 15.12.2009 17:51 |
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 12:24 |