> **E64扩展了一些易语言基础数据类型 详情如下定义**
1. 系统基础数据类型20种,其他类型一般由这些类型扩展而来请尽量使用基础数据类型
2. 除通用型外所有变量定义即被初始化为0,数组定义被初始化为{0},不想初始化可以使用 [不初始化]修饰。
3. 在注释开始的位置加\[\*\]可以修饰为指针,可以修饰多级指针如\[\*\*\*\]
4. 基础数据类似与C语言对照表,指针型可以相互转换,数值型转换注意精度。
5. 注意:日期时间型 将被翻译为时间戳
6. 无限参数 是个特殊的类型,表示参数从此位置往后是可变参数数量的,请参考压缩包例子。
|序号|E64类型|C类型|32大小/字节|64大小/字节|
|---|---|---|---|---|
|1|字节型|char|1|1|
|2|短整数型|short|2|2|
|3|整数型|int|4|4|
|4|长整数型|__int64|8|8|
|5|小数型|float|4|4|
|6|双精度小数型|double|8|8|
|7|逻辑型|int|4|4|
|8|日期时间型|unsigned __int64|8|8|
|9|文本型|char*|4|8|
|10|字节集|char*|4|8|
|11|子程序指针|void*|4|8|
|12|系统整数|size_t|4|8|
|13|指针型|void*|4|8|
|14|宽字节|wchar_t|2|2|
|15|宽字符|wchar_t*|4|8|
|16|无符号_字节型|unsigned char|1|1|
|17|无符号_短整数型|unsigned short|2|2|
|18|无符号_整数型|unsigned int|4|4|
|19|无符号_长整数型|unsigned __int64|8|8|
|20|通用型|auto|根据赋值决定|根据赋值决定|
|21|无限参数|...|这是一个特殊的定义 表示此参数数量可变|
> 示例:

> **下面请注意重点来了**
* **自定义数据类型**
1. E64的自定义数据类型的使用跟往常易语言一样,但需要注意的是**指针类型**的自定义数据类型!
2. 如果一个**自定义数据类型**的**成员**为另外一个数据类型的指针,此时此成员必须备注为指针 **[*]** 修饰 或勾选 **【传址】**。
3. 下面分别演示 **DT1 、DT2 、DT3** 的**声明**以及**访问** 跟转换为C代码的结果。
> 
4. 这里主要演示说明 **数据类型**如果修饰为 **指针** 虽然调用方法在易语言里都是以点 **.成员** 的方式但生成的C代码却不同,如果修饰为指针将会自动翻译为箭头(**->**)访问。
5. 在调用window的过程中会遇到许多 结构套结构 的 数据类型,因此在转换为易语言声明时必须严格注意这个问题,否则你的程序将可能出现异常。
