直接跳到内容
本页目录

指针

指针用于存放变量的地址,可以指向一个具有任何数据类型的变量。

指针定义:POINTER TO <数据类型>;

定义指针

在变量定义区,双击变量的数据类型。将显示数据类型选择按钮,如下图所示。

img

单击按钮img,将弹出数据类型选择下拉框

img

单击“指针向导”命令,在弹出的指针向导对话框中选择指向类型

img

点击确定,将完成指针类型变量定义

初始化指针

指针变量必须指向内存中某一数据后才能使用;如果目标机有数据对齐要求,必须保证指针所指类型与访问的数据类型是一致的。

指针访问

指针支持取值和取地址操作。

  • 可以通过附加内容运算符到指针标识符直接取值,详见下方的 pt^ 实例。
  • 可以通过VAL取值指令获取指针所指地址的变量值,赋值给其他变量
  • 可以通过ADR取地址指令获取一个变量的地址值,赋值给指针

例如:定义pt为INT型指针变量。

  • pt := ADR(Var1); (Var1为普通变量,这里将Var1的地址赋给变量pt)

  • Var1 := VAL(pt); (Var1为普通变量,这里将变量pt指向的内存地址中的值赋给Var1)

  • Var1 :=pt^ ; (Var1为普通变量,这里将变量pt指向的内存地址中的值赋给Var1)

  • 定义ptStruct为指向结构体的指针变量,结构体包含s1、s2两个成员。

  • Var1 := ptStruct^.s2; (Var1为普通变量,这里将变量ptStruct指向的内存地址中s2成员的值赋给Var1)

指针支持加减运算

​ 指针的加减运算,根据指向类型计算偏移量。

​ 例如:定义pt为INT型指针变量,pt+i,实际偏移量是pt指向地址+偏移量i*sizeof(INT)

指针已经加载完毕