Модератор: Модераторы



 
 
type
   pByte = ^Byte;
var
   byteptr: pByte;
begin
   byteptr:=GetMem(100);
   FillChar(byteptr,100,0);
   byteptr[25]:=224;
   FreeMem(byteptr);
end;
type
  TByteArr = Array of Byte;
var
  byteArr: TByteArr;
begin
  SetLength(byteArr,100);
  FillChar(@byteArr[0],100,0);
  byteArr[25]:=224;
  SetLength(byteArr,0);
end;
 А использую именно динамические массивы. Только вот... как теперь вернуть из функции указатель на выделенную память? Можно на примере вышеприведенного кода, с SetLength который
 А использую именно динамические массивы. Только вот... как теперь вернуть из функции указатель на выделенную память? Можно на примере вышеприведенного кода, с SetLength которыйА использую именно динамические массивы.

 FillChar опасно использовать... В С я могу так сделать
 FillChar опасно использовать... В С я могу так сделатьchar* arr;
arr = (char *)calloc( 10, sizeof( char ) );
только к динамическим массивам не стоит применять FillChar и тп., т.к. разные части массива могут находится в разных местах.
 Такое впечатление, что Вы чего-то путаете. Наверное, страничное распределение памяти с чем-то еще
 Такое впечатление, что Вы чего-то путаете. Наверное, страничное распределение памяти с чем-то еще 
char* arr;
arr = (char *)calloc( 10, sizeof( char ) );

Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1