请帮菜鸟一下(50分)

  • 主题发起人 nick4309
  • 开始时间
N

nick4309

Unregistered / Unconfirmed
GUEST, unregistred user!
定义一个结构:
type aaa=record
........
case integer of
0:......
1:......
end;
到底是什么意思,该什么时候用。谢谢!
 
不要省略好吗,全贴出来!
 
说明白点
 
这是变体类型:
case前面的声明部分同平常的记录类型一样,但如果域中含有变体部分,则变体部分应
位于记录域的最后。变体部分中的识别标志符是可选的,省略时连同“:”号一起省略。
识别字段类型必须是顺序类型,其他用法和普通的记录类型一样。

type
TPerson=Record
FirstName,LastName: String[30];
BirthDay: TDate;
case Citizen: Boolean of
True: (BirthPlace: String[40]);
False: (Country: String[20]);
end;
 
其实和C的union差不多,无非是为了节省内存,或是类型转换,比如
type
TMyRecord=Record
case integer of
0: (w: word);
1: (low,high: byte);
end;
 
一个很方便的结构。
 
多人接受答案了。
 
顶部