PROGRAM Ptr_int IMPLICIT NONE INTEGER, POINTER :: ptr1, ptr2 INTEGER, TARGET :: n, p n = 10 ; p = 20 ptr1 => n ptr1 => p print*,n, p, ptr1, ptr2 ptr1 = 25 ptr2 = ptr2 +1 print*,n, p, ptr1, ptr2 ptr1 = ptr2 print*,n, p, ptr1, ptr2 ptr1 => ptr2 ptr1 = ptr1 + 5 print*,n, p, ptr1, ptr2 END PROGRAM Ptr_intLa déclaration :
INTEGER, POINTER :: ptr1, ptr2précise que
La déclaration :
INTEGER, TARGET :: n, pprécise que les deux entiers sont des cibles c-à-d succeptibles d'être associés à un pointeur.
La déclaration :
ptr1 => n ptr1 => psignifie que
print*,n, p, ptr1, ptr2donne
ptr1 = 25 ptr2 = ptr2 +1signifie que l'entier associé à
print*,n, p, ptr1, ptr2donne
ptr1 = ptr2signifie que l'entier associé à
print*,n, p, ptr1, ptr2donne
Notez la différence avec l'instruction suivante
ptr1 => ptr2signifie que
ptr1 = ptr1 + 5 print*,n, p, ptr1, ptr2donne