
27.06.2008, 01:16
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
С нами:
9905879
Репутация:
337
|
|
A2GIL
Блин...ты сам разберись!!!
Код:
type
TStr = array[0..1024] of Char;
LngStr = ^TStr;
var
Buffer: LngStr;
При таком объявлении память будет выделена ТОЛЬКО ПОД УКАЗАТЕЛЬ (Buffer) (всего 1 байт).
В адресную ячейку (Buffer) в которую можно записать 1024 символа и записывается считанная строка.
Какие там 1024 символа под строку?!?!?! (и даже не 1024, а 1025)
Ты где такое видел??? =)
В твое примере ты выделил память под 1025 символов!!!!
К ним так buffer^ не обращаются!!! У тебя это и не откомпилируется...
Там циклом все делается...
for i:=0 to 1024 do
begin
read(f, buffer^[i])
end;
Это динамически формируемые массивы...
|
|
|