PL/1 指针的用法
时间: 2023-11-11 08:04:31 浏览: 76
PL/1 支持指针,可以通过指针来操作数据。下面是一些指针的用法:
1. 定义指针变量
在 PL/1 中,可以使用 POINTER 关键字定义指针变量,例如:
```
DCL PTR POINTER; /* 定义一个指向任何类型的指针变量 */
```
2. 取地址操作
可以使用 "&" 运算符来取变量的地址,例如:
```
DCL VAR CHAR(10);
DCL PTR POINTER;
PTR = ADDR(VAR); /* 取 VAR 变量的地址并赋值给 PTR 指针变量 */
```
3. 解引用操作
可以使用 "*" 运算符来解引用指针变量,例如:
```
DCL VAR CHAR(10);
DCL PTR POINTER;
PTR = ADDR(VAR); /* 取 VAR 变量的地址并赋值给 PTR 指针变量 */
PTR = PTR + 2; /* 指针加 2,即指向 VAR 变量的第三个字节 */
VAR = *PTR; /* 解引用 PTR 指针变量,将第三个字节的值赋给 VAR 变量 */
```
4. 指针运算
可以对指针进行加减运算,例如:
```
DCL VAR CHAR(10);
DCL PTR POINTER;
PTR = ADDR(VAR); /* 取 VAR 变量的地址并赋值给 PTR 指针变量 */
PTR = PTR + 2; /* 指针加 2,即指向 VAR 变量的第三个字节 */
PTR = PTR - 1; /* 指针减 1,即指向 VAR 变量的第二个字节 */
```
需要注意的是,指针运算时必须保证指针指向的数据类型大小是已知的。如果指针指向的数据类型大小未知,则应该避免进行指针运算。
阅读全文