基础知识--any指针使用的疑问
郑志武
发布于2013-02-28 23:09
114
0
标签:
示例:any指针的使用。
编写一个计算功能的函数,输入参数“in_data”为一个数组变量,如果数组元素为浮点数,输出所有元素的平均值“out_val”,如果数组元素为其他数据类型,不执行计算功能。ob1中调用函数的程序如下:
callfc13
in_data:=p#db1.dbx0.0real8
out_val:=md20
完成的计算功能相当于md20=(db1.dbd0+..+..+db1.dbd28)/8。在函数(fc13)的接口参数中定义输入,输出变量及临时变量见表
inin_dataany
outout_valreal
tempdata_lenint0.0
tempblock_noint2.0
tempadd_tempreal4.0
tempdata_noint8.0
fc13中的示例程序如下:
l0//初始化临时变量#add_temp
t#add_temp
lp##in_data//指向存储地址指针in_data首地址,并装载到地址存储器ar1中
lar1
问题:将in_data装载至ar1后,ar1中的32位值分别是多少?ar1中是不是只装载dbx0.0,而db1和real8不装载至ar1中啊?
望解答
问题补充:
any指针格式为10字节的数据,而ar1为4字节的数据,any数据装载至ar1中只装载any前4字节的信息吗?是这个意思吗?
佳答案
ar1中存的是any指针的首地址,是一个存储区域的起始地址,这个地址的第0字节是10,第2字节是数据类型,也就是浮点数,第三、四字节为8,第五、六字节为db1,后边四个字节为dbd0