Skip to main content

SA0064:ポインタの追加

ポインタの追加を決定します。

位置揃え: で CODESYS、ポインター演算は一般に許可されており、適切に使用することもできます。ただし、これはエラーの原因でもあります。したがって、一般にポインター演算を禁止するプログラミング規則が存在します。このテストでは、そのような要件を確認できます。

重要性:中

75.
PROGRAM PLC_PRG
VAR
    iTest : INT;
    ariTest : ARRAY[0..10] OF INT;
    {attribute 'analysis':='-111'}
    piTest : POINTER TO INT;
    i : INT;
END_VAR
piTest := ADR(ariTest[0]);    // OK
piTest^ := 0;
piTest := ADR(ariTest) + SIZEOF(INT);    // SA0064
piTest^ := 1;
piTest := ADR(ariTest) + 6;    // SA0064
piTest^ := 3;
piTest := ADR(ariTest[10]);
FOR i:=0 TO 10 DO
    piTest^ := i;
    piTest := piTest + 2;    // SA0064
END_FOR

での出力 メッセージ ビュー:

  • sa_icon_message.png SA0064: ポインタの追加