解决方案 »

  1.   

    v3: string[16] 
    限定这个string只能装16个char,赋值时超过16个之后的被丢弃
    string[1]是保留用来记录string长度的,所以v3= 16+1=1732位系统下,指针自然是4字节,string、ftorm这些都是引用(指针)类型,都是4字节
    byte、word、double这些是值类型,byte1字节,word2字节,
    double和real都是8字节,single是4字节
      

  2.   

    所以获取的方法直接用SizeOf得到就可以了是吗?
      

  3.   

    得看packed没了
    a = packed record //加 packed顾名思义就是将内存进行了压缩,时间换空间
    a = record //默认方式,不进行压缩,占用内存比上面的多,空间换时间
      

  4.   

    那就是说a=packed record //直接用sizeof就可以了
    要是a=record //不进行压缩,那结果是什么呢
      

  5.   

    实际编程中sizeof就可以了,如果说你是在跟书中的比较发现大小不一样,那就得注意是否packed了,具体可以搜   内存 字节对齐