Skip to main content

Hvad er derferensoperatøren?

Dereference -operatøren er et symbol, der bruges i computerprogrammering til at hente en værdi placeret på en bestemt hukommelsesadresse.Operatøren, som normalt er repræsenteret af en stjerne i kildekoden, anvendes før en variabel, der peger på en hukommelsesadresse eller markøren.Nogle gange kaldet den indirektionsoperatør, kan dererneserens operatør også bruges, når man erklærer eller initialiserer variabler for at indikere, at de er tip til en datatype og ikke selve datatypen.Når man bestemmer rækkefølgen af operationer, har derferensoperatøren forrang for næsten alle standard matematiske operatører.

For at forstå, hvad derferensoperatøren gør, er det vigtigt at forstå, hvordan datatyper i computerprogrammeringsarbejde.En variabel i et program kan have en værdi.Mange gange er dette simpelthen et heltal eller en række karakterer.Andre gange kan det være en hukommelsesadresse, der peger på en heltalværdi.Variabler, der indeholder hukommelsesadresser, kaldes pointers.

Når det er nødvendigt at tildele, ændre eller hente de data, der er gemt ved hukommelsesadressen, som en markør indeholder, skal dere -operatøren bruges.Hvis der udføres en matematisk operation, såsom tilføjelse, til en markørvariabel uden at derferencer den, udføres operationen på hukommelsesadressen og ikke den variabel, den peger på.Der er tidspunkter, hvor aritmetiske operationer, der udføres på hukommelsesadresser, kan forbedre effektiviteten, som i tilfælde af at træde dog en matrix, og derfor eksisterer denne funktionalitet.Når derernesferensoperatøren bruges på en markør, udføres alle operationer på de data, der er gemt på hukommelsesplaceringen og ikke selve hukommelsesadressen.

Operatøren kan også bruges, når den oprindeligt erklærer en ny variabel.Ved at placere operatøren mellem den variable type og det variable navn, vil det indikere, at den nye variabel skal være en markør til en datatype og ikke kun et eksempel på typen.Variabler, der oprettes på denne måde, skal initialiseres med en eller anden form for hukommelsesallokeringsfunktion, fordi markøren skal indstilles til et ubrugt hukommelsessted af hukommelseslederen, som programmet bruger.

Der er nogle farer, der skalUndgå, når du bruger derferensoperatøren.Mest bemærkelsesværdigt er det at forsøge at afrere en markør, der er nul eller udefineret.Pegeren har teknisk set ikke en hukommelsesadresse, så forskellige fejl eller undtagelser vil blive genereret, der vil stoppe udførelsen af et program.Nulsikre versioner af derferensoperatøren findes, der ikke vil forårsage en fejl, men disse operatører har en anden syntaks.