已知   Var   a:array['a'..'e',1..4,boolean]   of   real;
则数组a中包含的元素的个数为()
A、   5
B、   20
C、   40
D、   11
E、   22这个题选那个答案.并请说明原因!

解决方案 »

  1.   

    showmessage(IntToStr(sizeof(a) div sizeof(real)));
      

  2.   

    能看明白,谢谢回答
    我以前都是这样申明多维数组的
    var testarray:array[0..5] of array[0..9] of integer;
    上面那种表达真没用过,觉得挺怪的
    为什么of后面是实数类型,能解释一下吗?
      

  3.   

    这是一个固定大小的多维数组,在定义的时候就已经为其分配了内存,其大小为数据元素个数×每个元素所需字节。
    Sizeof(a)取得数组的字节数,Sizeof(real)获取每个元素的字节数,两者相除就得到了数组中的元素个数。
      

  4.   

    我还没明白过来,Boolean在里面是什么意思?
      

  5.   

    Boolean就相当于是False..True,因为布尔类型也是顺序类型,可作为数组下标