变体记录的问题:case Integer of 是 什么意思? ( 积分: 50 )

  • 主题发起人 主题发起人 driayu
  • 开始时间 开始时间
D

driayu

Unregistered / Unconfirmed
GUEST, unregistred user!
PDownloadCardStruct=^TDownloadCardStruct;<br>&nbsp;&nbsp;TDownloadCardStruct=packed&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;CardNo:&nbsp;array[0..15]&nbsp;of&nbsp;char;&nbsp;//16位卡号<br>&nbsp;&nbsp;&nbsp;&nbsp;EmpId:&nbsp;array[0..10]&nbsp;of&nbsp;Char;&nbsp;//6位字母工号或是姓名考勤白名单<br>&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;Integer&nbsp;of<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:&nbsp;(Periods:&nbsp;array[0..11]&nbsp;of&nbsp;char);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//6位字节通行时段(以30分钟为单位一天)门禁通行卡<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1:&nbsp;(EmpName:&nbsp;array[0..11]&nbsp;of&nbsp;char);&nbsp;//黑白名单时的员工姓名<br>&nbsp;&nbsp;end;<br><br>这是一个接口程序中定义的类型,请问:Case&nbsp;Integer&nbsp;of是什么意思?请各位高手帮忙解释!
 
相当于VC里的UNION,就是使用这个结构的时候,可能用0对应的这个类型的字段,也可能用1对应的这个字段,但它们共用一段内存.<br>你看你结构的说明,1,黑白名单时,就是指黑白名单时不使用0对应的字段,只有1对应的字段,而并不会多开0对应的12个CHAR的内存空间.<br>诶,讲的不明白,不知道能不能听的懂
 
接受答案了.
 
后退
顶部