PEmployee = ^Employee;
  Employee = record
      ID,                          
      BranchID        :Integer;    
      LoginName,                   
      Password        :String[20]; 
      Name            :String[40]; 
 
      Node            :TTreeNode;
      AThread         :TIdPeerThread;
      MySocket        :TMySocket;
  end;
  TCBSendBranch = record
        ID,                          
      BranchID        :Integer;    
      LoginName,                   
      Password        :String[20]; 
      Name            :String[40]; 
 
      Node            :TTreeNode;
      AThread         :TIdPeerThread;
      MySocket        :TMySocket;
  end;请解释下这两种定义,有什么区别,看不懂

解决方案 »

  1.   

    第一種先定義了一個Employee的記錄指針PEmployee,再定義Employee記錄。
    第二種就是定義了一個記錄。
      

  2.   

    像这个写法 确实重复了, 何必呢, 如果完全一样就不要这么写, 很容易误解 
    TCBSendBranch = type Employee  都比上面这个方式好, 我建议这么写如果真的有必要的话
      

  3.   

    PEmployee = ^Employee;
    PEmployee是一个指针类型,该指针指向的内存结构和Employee结构一样Employee和TCBSendBranch  都只是一般的记录类型如果你了解指针的概念. 这就不难理解了.
      

  4.   

    结构指针,请参看:http://www.cnblogs.com/linyawen/archive/2010/12/23/1915384.html
      

  5.   

    http://zhidao.baidu.com/question/124481779.html这个更清楚了
      

  6.   

    PEmployee是指针类型,TCBSendBranch是记录类型