在DELPHI中,代码如下:
//one card
TCardNumber = packed record
case Integer of
0:(dwCardNo : Cardinal); //Decimal:Card No.
1:(wCardID,wCardZn : Word); //Wiegand : Card Offset,Card Sector
2:(Byte : array[1..3] of byte);
end; 这段代码是定义的一个什么东西?如题
请大家帮帮我。谢谢
//one card
TCardNumber = packed record
case Integer of
0:(dwCardNo : Cardinal); //Decimal:Card No.
1:(wCardID,wCardZn : Word); //Wiegand : Card Offset,Card Sector
2:(Byte : array[1..3] of byte);
end; 这段代码是定义的一个什么东西?如题
请大家帮帮我。谢谢
#pragma pack(push,1)
typedef union{
DWORD dwCardNo;
struct{
unsigned short wCardID,wCardZn;
};
unsigned char Byte[4];
}TCardNumber ;
#pragma pack(pop)
即定义一个(有限的)“万能”类型。或者叫共用体,这个共用体由dwCardNo、wCardID+wCardZn、Byte[4]共用同一内存,以其中占用空间最大的部分确定为该结构的内存空间大小,并以首地址对齐.
http://msdn2.microsoft.com/zh-cn/library/ya9bz4ha.aspx