Chinaunix首页 | 论坛 | 博客
  • 博客访问: 356931
  • 博文数量: 90
  • 博客积分: 847
  • 博客等级: 准尉
  • 技术积分: 1373
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-02 10:54
个人简介

跌打滚爬中的小菜鸟...

文章分类

全部博文(90)

文章存档

2015年(5)

2013年(47)

2012年(38)

我的朋友

分类: 其他UNIX

2013-05-06 11:55:43

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) |
0

上一篇:CA Transfer数据出错

下一篇:CL读取PF数据

给主人留下些什么吧!~~