Pekare är en typ av variabel som pekar på en variabel där data lagras, istället för de faktiska data. Pekare är nyttiga när de uppgifter som skall användas eller manipulerade är okänd tidigare till körning. Detta inträffar när data enheter dynamiskt skapas eller förstöras och det är okänt i förväg hur många av dessa händelser kommer att inträffa . Pekare är också användbara för att manipulera listor . Till exempel, om du har en array som måste redas kan du sortera en array av pekare till data i stället för själva uppgifterna. Detta har fördelen av att använda mycket mindre overhead , eftersom pekare upptar mindre minne
1 .
fastställa pekaren . Den allmänna formen för uttalandet att deklarera en pekare är :
supertillstånd , attribut lista , POINTER : : . lista av pekare variabler
supertillstånd omfattar både inneboende-typ objekt samt härledda-typ objekt . Följande uttalande är ett exempel på en inneboende-typ förklaring :
REAL , POINTER : : p
stund:
TYP ( person ) , POINTER : : q
är ett exempel på en härledd typ deklaration . Att deklarera en pekare till en array , behöver flera dimensioner för att anges . Till exempel följande uttalande:
REAL , DIMENSION (:,:) , pekare : : array_1
kan peka på en tvådimensionell real array
<. br > 2 .
ange vilka variabler kan ha en pekare pekar på dem . I Fortran , är det inte tillåtet att peka på en variabel som inte har gett tillstånd att vara riktad mot . Tillstånd ges genom att lägga till målattribut till variabeln förklaring. Till exempel :
REAL , TARGET : C
tillåter pekare att peka på detta reell variabel . Det är möjligt för mer än en pekare att peka på samma variabel .
3 .
Peka på önskad variabler med hjälp av peka tilldelningssats . Detta uttalande har formen :
pekaren variabel=> målvariabel
till exempel följande påståenden :
REAL , TARGET : : en
REAL , POINTER : : p
p=> en
ställa pekaren p för att peka på den reala rörliga a.
4
Använd pekaren i ett uttryck i stället för den variabel som man pekar på . Detta kallas dereferencing . Dereferencing är där en pekare behandlas som objekt som är pekade . Till exempel :
REAL , POINTER : : p, q
REAL , TARGET : : x=2,0 , y=3,0
p=> x
q=> y
p=q + 1
p=q
p=> q
Ekvationen p=q 1 motsvarar ett uttalande x=y +1, så X tar på värdet 4,0 medan P är oförändrad . Uttalandet p=q sätter x till värdet på y och, igen , är p oförändrad . Den slutgiltiga avräkningen p=> q sätter pekaren p för att peka på y.
5 .
Break pekaren associering till målet efter det har använts , om så önskas . Använd NULLIFY uttalandet att ta avstånd en pekare utan att ställa den till punkt till en annan variabel . Syntaxen är som följer :
p=> x
NULLIFY ( p )
tips och varningar
コメント