数据类型:POINTER TO |
您所在的位置:网站首页 › plc的real是什么数据类型 › 数据类型:POINTER TO |
数据类型:POINTER TO 指针在运行时存储对象的内存地址,例如变量或功能块实例。 指针声明的语法: : POINTER TO | | ; FUNCTION_BLOCK FB_Point VAR piNumber: POINTER TO INT; iNumber1: INT := 5; iNumber2: INT; END_VAR piNumber := ADR(iNumber1); // piNumber is assigned to address of iNumber1 iNumber2 := piNumber^; // value 5 of iNumber1 is assigned to variable iNumber2 by dereferencing of pointer piNumber取消引用指针意味着获取指针指向的值。通过附加内容运算符来取消引用指针 ^ 指向指针标识符(例如:, piNumber^ 在上面的例子中)。要将对象的地址分配给指针,地址运算符 ADR 应用于对象: ADR(iNumber1). 在联机模式下,您可以使用 去参考 从指针跳转到被引用变量的声明位置。 重要当指针指向 I/O 输入时,应用写访问。生成代码时,这会导致编译器警告 “”不是有效的分配目标.例子: pwInput := ADR(wInput); 如果您需要这种构造,则必须首先复制输入值(wInput) 到具有写访问权限的变量。 对指针的索引访问CODESYS 允许索引访问 [] 类型变量 POINTER TO,以及数据类型 STRING 或者 WSTRING. 指针指向的数据也可以通过附加括号运算符来访问 [] 指向指针标识符(例如, piData[i])。指针的基本数据类型决定了索引组件的数据类型和大小。在这种情况下,对指针的索引访问是通过添加与索引相关的偏移量来算术完成的 i * SIZEOF() 到指针的地址。指针同时被隐式取消引用。 计算: piData[i] := (piData + i * SIZEOF(INT))^;那不是 不是: piData[i] != (piData + i)^;索引访问 STRING 当您将索引访问与类型的变量一起使用时 STRING,您将在索引表达式的偏移量处获得字符。结果是类型 BYTE.例如, sData[i] 返回字符串的第 i 个字符 sData 作为 SINT (ASCII)。 索引访问 WSTRING 当您将索引访问与类型的变量一起使用时 WSTRING,您将在索引表达式的偏移量处获得字符。结果是类型 WORD.例如, wsData[i] 将字符串的第 i 个字符返回为 INT (统一码)。 提示引用和指针 BIT 变量是 无效的 声明,以及具有基本类型的数组元素 BIT. 减法指针两个指针不同的结果是一个类型的值 DWORD,即使在 64 位平台上,当指针是 64 位指针时也是如此。 提示使用引用提供了保证类型安全的优势。指针不是这种情况。 提示可以在运行时通过隐式监控功能检查指针的内存访问 CheckPointer. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |