DELPHI的结构体共用体和位域的等效实现计算机二级考试
文章作者 100test 发表时间 2009:05:07 18:06:42
来源 100Test.Com百考试题网
结构体:就是DELPHI的packed record,packed必须要,不然不是按byte对齐。
共用体:其实也就是absolute关键字的使用,如下
procedure TForm1.Button2Click(Sender: TObject).
type
TRGB = packed record //结构体
R: Byte.
G: Byte.
B: Byte.
A: Byte.
end.
var
rgbPack: TRGB.
rgbData: Integer absolute rgbPack. //共享内存单元
begin
rgbData := $AA0080FF.
ShowMessage(IntToStr(rgbPack.R) , IntToStr(rgbPack.G) , IntToStr(rgbPack.B)).
end.
位域就没辙了,没有简单的方法,还是写shr,shl然后再用and去进行位与来实现吧。
特别推荐:
2009年9月全国计算机等级考试时间及科目预告