易语言数据类型内存分布格式

来源:互联网 发布:淘宝支持哪些付款方式 编辑:程序博客网 时间:2024/05/17 22:27

易语言数据类型内存分布格式

数据类型

大小(字节)

结构说明

字节型

1

这个没必要说明…

短整数型

2

这个没必要说明…

整数型

4

这个没必要说明…

长整数型

8

这个没必要说明…

小数形

4

这个没必要说明…

双精度小数型

8

这个没必要说明…

文本型

4

易语言文本型变量其实并未直接储存文本数据,而是储存了一个指针(这就是说它的大小是4字节的原因),这个指针指向的内存储存了文本数据.

字节集

4

字节集型变量其实并未直接储存字节集数据,而是储存了一个指针(这就是说它的大小是4字节的原因),这个指针指向的内存储存了字节集数据.

字节集数据的结构:

1、  一个恒定为数值1的整数;(4字节)

2、  一个整数记录数据的长度;(4字节)

3、  字节数据;

也就是说,要获得真正的字节集数据地址,要这样写:

读数值 (取地址 (字节集变量)) + 8   ’加8是偏移8字节

数组

4

数组型变量其实并未直接储存数组数据,而是储存了一个指针(这就是说它的大小是4字节的原因) ,这个指针指向的内存储存了数组数据.

数组数据的结构:

1、  一个整数记录该数组的维数;(4字节)

2、  对应数目的整数值顺序记录对应维的成员数目;

3、  数组数据;

也就是说,要获得真正的数组数据地址,要这样写:

读数值 (取地址 (数组变量)) + 读数值(读数值 (取地址(数组变量))) × 4 + 4

复合数据类型

(包括自定义数据类型和类)

4

也是保存了指针,这个指针指向的内存储存了数据。

数据的结构:

按顺序排列所有成员,注意任何成员如果数据尺寸小于4个字节,都会被自动对齐到4个字节。

如以下复合类型:

成员1:字节型

成员2:短整数型

成员3:整数型

则整个复合类型所占用的空间为 12 个字节,

成员1地址:读数值(取地址 (复合变量))

成员2地址:读数值(取地址 (复合变量))+4

成员3地址:读数值(取地址 (复合变量))+8