SA0064: Aggiunta di un puntatore
Determina le addizioni di puntatori.
Motivazione: In CODESYS, l'aritmetica dei puntatori è generalmente consentita e può anche essere utilizzata in modo appropriato. Rappresenta però anche una fonte di errore. Pertanto, esistono regole di programmazione che generalmente vietano l'aritmetica dei puntatori. Questo test può verificare tale requisito.
Importanza: Media
Esempio 75. Esempio
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
Uscita in Messaggi vista:
SA0064: Aggiunta del puntatore