有人告诉我一个数组前四个字节存放的是数组的长度,根据这个长度可以进行判断,
怎样用代码实现,已知这个数组的指针,比如:
var 
  cBuffer: array[1..32] of Char;
  pcBuffer: PChar;
...
...
begin
  pcBuffer := @cBuffer;
...
...
end;如何只通过pcBuffer知道cBuffer的大小,希望能给出代码,谢谢!

解决方案 »

  1.   

    >>有人告诉我一个数组前四个字节存放的是数组的长度,根据这个长度可以进行判断,
    數組好象沒有的!!!
      

  2.   

    string 的, 就可以這樣判斷:var
      s: string;
      p: pointer;
    begin
      s := '12345678';
      p := pointer(@s[1]);
      p := pointer(integer(p) - 4);
      edit1.Text := IntToStr(Integer(p^));
    end;
      

  3.   

    呵呵,string特殊,保存了字符的长度
      

  4.   

    对,看一下"delphi精要".里边由这方面的介绍