精易论坛

标题: 易语言调用子程序,使用自定义数据的注意了 [打印本页]

作者: gg021    时间: 2024-5-25 09:41
标题: 易语言调用子程序,使用自定义数据的注意了
本帖最后由 gg021 于 2024-5-25 10:01 编辑

易语言调用子程序,使用自定义据数类型作为参数时,子程序中参数的参考无论是否选中,结果都一样
设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、文本型、字节集型数据,则无论此属性是否为真,都将传递指针。如果所传递过来数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型”数据转换为“小数型” 数据,然后再进行传递。因此在这种情况下,即使本属性为真,系统也无法传递指向原数据的指针,只能传递数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数内容的更改将会相应地反映到调用子程序时所提供的参数数据上。

2.png (3.02 KB, 下载次数: 1)

2.png

2.png (17.62 KB, 下载次数: 1)

2.png

1.png (19.46 KB, 下载次数: 1)

1.png

自定义数据类型有无参考测试.e

3.81 KB, 下载次数: 1, 下载积分: 精币 -2 枚


作者: 同学麻烦让让    时间: 2024-5-25 09:46
“设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、文本型、字节集型数据,则无论此属性是否为真,都将传递指针。如果所传递过来数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型”数据转换为“小数型” 数据,然后再进行传递。因此在这种情况下,即使本属性为真,系统也无法传递指向原数据的指针,只能传递数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数内容的更改将会相应地反映到调用子程序时所提供的参数数据上。”


上面是参考属性的说明,你是一点不看啊
作者: xintian    时间: 2024-5-25 09:48
为啥下载还要精币.
作者: gg021    时间: 2024-5-25 09:53
xintian 发表于 2024-5-25 09:48
为啥下载还要精币.

我改一下,默认的吧

作者: gg021    时间: 2024-5-25 09:56
同学麻烦让让 发表于 2024-5-25 09:46
“设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定 ...

原来有说明的啊,我没认真看,谢谢
作者: gg021    时间: 2024-5-25 09:56
同学麻烦让让 发表于 2024-5-25 09:46
“设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定 ...

原来有说明的啊,我没认真看,谢谢
作者: Suky    时间: 2024-5-25 13:41
设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、文本型、字节集型数据,则无论此属性是否为真,都将传递指针。如果所传递过来数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型”数据转换为“小数型” 数据,然后再进行传递。因此在这种情况下,即使本属性为真,系统也无法传递指向原数据的指针,只能传递数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数内容的更改将会相应地反映到调用子程序时所提供的参数数据上。
作者: xujunfengswxj    时间: 2024-5-25 17:14
学习一下
作者: lcb    时间: 2024-5-25 17:34
谢谢分享
作者: lcb    时间: 2024-5-25 17:35
  金币股沟了
作者: year1970    时间: 2024-5-26 10:48
感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4