基础知识--p#的问题
郑志武
发布于2013-02-28 23:22
26
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
lb[ar1,p#1.0]//如果数据类型不是real,跳转到end注1
lb#16#8
<>d
jcend
问题:为何要用lp##in_data,#in_data不是已经表明为p#db1.dbx0.0real8,为何还要在前面用p#,是表明此值为指针的意思吗?
佳答案
p#表示是指针类型,而#in_data是形参变量,所以要两个#