CL程序:
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...
*************** Beginning of data ********************
0001.00 PGM
0002.00 DCL VAR(&C1) TYPE(*CHAR) LEN(10)
0003.00 DCL VAR(&P1) TYPE(*PTR)
0004.00
0005.00 CHGVAR VAR(&C1) VALUE('ZHANGSAN')
0006.00 SNDPGMMSG MSG(CHGVAR)
0007.00 CHGVAR VAR(&P1) VALUE(%ADDR(&C1))
0008.00 CHGVAR VAR(&P1) VALUE(%ADDRESS(&P1))
0009.00
0010.00 ENDPGM
****************** End of data ***********************
建议在DEBGU模式下看&P1的前后值
&P1赋值前:
Pointer not set for location referenced.
&P1第一次赋值后:
&P1 = SPP:C6FBD17A640010D0
&P2第二次赋值后:
&P1 = SPP:C6FBD17A64001140
综述:
%ADDRESS这个built-in函数用于取得一个CL变量(任意类型)的内存地址, 即返回一个内存地址.
这个内存地址可用于给CL指针变量赋值或者测试一个CL指针变量.
阅读(1758) | 评论(0) | 转发(0) |