delphi中,array[1..16] of byte 和^byte可以产生同样的效果吗: (100分)

  • 主题发起人 主题发起人 土土
  • 开始时间 开始时间

土土

Unregistered / Unconfirmed
GUEST, unregistred user!
c++里是可以,如果不行,

可以直接对byte^读取值吗如 s: ^byte s[0]:= 1;
 
数组是支持指针操作的。
 
var
i : Integer ;
buffer : ^byte;
size : integer;
begin
i:=10;
buffer := @i;
size := sizeof(byte)*10;
getmem(buffer,size);
memo1.Lines.add(buffer^)
///这里不行,

end;
如何改

 
你的代码可以有下面两种修改方案:
1.
var
i, size: integer;
buf: ^byte;
begin
i := 10;
buf := @i;
Memo1.Lines.Add(IntToStr(buf^));
end;

2.
var
// 这里和上面一样
begin
i := 10;
size := SizeOf(byte);
GetMem(buf, size);
buf^ := i;
Memo1.Lines.Add(IntToStr(buf^));
FreeMem(buf, size);
end;
 
但是请注意,上面的两种方案的含义是不一样的。
 
用TByteArray或者PChar
 

Similar threads

后退
顶部