Delphi结构定义

时间:2015-11-29 19:18:58

标签: delphi pascal

我在Delphi中遇到过这个结构定义。我是德尔福的新手。我正在通过我的Delphi尝试从下面的代码中删除头部或尾部。我似乎无法弄清楚究竟是什么意思。如果有人能解释的话会很棒。

// MSG
  TPayloadHdr = packed record
    Count: byte;
  end;
  PPayload = ^Payload;
  Payload = packed record
    Hdr: TPayloadHdr;
    TagLen: packed array[0..MAXINT div (2*sizeof(word))] of word;
    // Data: array[0..] of byte;  Use @TagLen[Hdr.Count] to get a pointer to the first structure.  
    function GetSize: integer;
  end;

我的问题。

  1. 为什么有两个end没有begin

  2. ^Payload的含义是什么?

  3. record是关键字吗?这是什么意思?

1 个答案:

答案 0 :(得分:3)

  1. The syntax for defining a record包含end,但没有begin

  2. 如果Something是一种类型,那么^Something也是一种类型,即pointerSomething

  3. record是用于定义record types的关键字。