有段声明看不明白,请指教。关于CASE 语句(0分)

  • 主题发起人 主题发起人 redqiao
  • 开始时间 开始时间
R

redqiao

Unregistered / Unconfirmed
GUEST, unregistred user!
SunB = packed record
s_b1, s_b2, s_b3, s_b4: u_char;
end;
SunW = packed record
s_w1, s_w2: u_short;
end;

in_addr = record
case integer of //这里的integer是一个变量呢,还是一个类型
0: (S_un_b: SunB)
//这里的语句表示的是什么意思呀。
1: (S_un_w: SunW);
2: (S_addr: u_long);
end;
 
可变记录类型,彼此覆盖的数据能被单独访问,就像c中的union
 
那下面的一句代码是什么意思呢?

0: (S_un_b: SunB)
//这里的语句表示的是什么意思呀?

是不是在这里定义了一个类型为SunB的S_un_b变量呀。
 
in_addr = record
case integer of //这里的integer是一个变量呢,还是一个类型
0: (S_un_b: SunB)
//这里的语句表示的是什么意思呀。
1: (S_un_w: SunW);
2: (S_addr: u_long);
end;

Case Integer of //这里是一个整型变量,只是变量名字省略,这是一个Delphi语法而已
0: (S_un_b: SumB)
//这句话的意思是当前面的那种整型变量的值为0是,声明一个类型为SumB、标识符为S_un_b的变量
 
我已经明白了。谢谢楼上的兄弟。哈哈。
 
后退
顶部