Donald Knuth , momenteel een Professor Emeritus van " The Art of Computer Programming " aan de Stanford University , zei in 1974 dat hij beschouwde als pointer variabelen " om als een van de informatica de meest waardevolle schatten . " Nog , meer dan drie decennia later , wijzers zijn nog steeds verwarrend voor veel beginnende programmeurs . Bovendien, programmeurs vaak gebruik van pointers verkeerd , doet dus code niet werkt zoals gepland en de kwestie wordt nog meer vertroebeld en verwarrend . Een Pointer Is Adressen Pointers zijn variabelen die het adres van een andere variabele bevatten , waardoor ze "punt" op de andere variabele . Programmeurs zijn doorgaans comfortabel met het idee van de variabelen - bijvoorbeeld een variabele " x " met de waarde van 25 . Een pointer naar " x " geeft aan dat de waarde van 25 daadwerkelijk in het geheugen opgeslagen . Afdrukken van de inhoud van een pointer variabele zou een geheugen -adres , traditioneel gedrukt in hexadecimaal weergeven. Afdrukken van de inhoud van de " x " zou geven 25 . Het adres van een variabele niet zo verschillend van het concept van een brief met een postadres op de envelop gedrukt . Het adres vertelt de postbode waar om de envelop te leveren . De inhoud van de envelop zijn gescheiden van het adres . Het adres van een variabele is waar in het geheugen van de inhoud van een variabele worden opgeslagen . Verklaring De verklaring van een pointer is specifiek voor de programmeertaal . Bijvoorbeeld , de uitspraak " float y = 25.5 , * pointer_to_y = &y; " verklaart en initialiseert een floating point variabele " y " en een pointer variabele . Afdrukken van de waarde van de " y " zou opleveren 25,5 , terwijl het afdrukken van de waarde van " pointer_to_y " zou opleveren waarin " y " wordt opgeslagen in het geheugen . Gebruik van pointers < br > Een belangrijke plaats voor pointers is in ingang . Wanneer u de gebruiker vragen om een nummer in te voeren , moet u dat nummer ergens op te slaan . Om uw ingangsfunctie vertellen waar aan de waarde op te slaan , moet u het adres van een variabele , die zou worden " & number_of_students " in C. Als je gewoon opgeeft " number_of_students , " u spreekt over de huidige waarde die is opgeslagen in de variabele , zoals geven de inhoud van de enveloppe eerder genoemde plaats waar invoer van de gebruiker opslaan . Functions p Het is inefficiënt om grote hoeveelheden gegevens functies passen. Pointers kunt u doorgeven waar de gegevens worden opgeslagen die uw functie nodig heeft . Uw functie kan toegang krijgen tot de benodigde gegevens, zonder de overhead van de gegevens door aan de routine . Complexe datastructuren Geavanceerde programmering problemen is geavanceerde programmering oplossingen en data types . Programmeurs kunnen niet gemakkelijk op te lossen alle problemen met eenvoudige integer , floating point en karakter data types . Programmeurs gebruiken gelinkte lijsten vaak in programma's , in het bijzonder bij het sorteren van complexe verzamelingen van gegevens . Een gekoppelde lijst is gewoon een verzameling van gegevens , zoals naam , ID en betalen tarief , opgeslagen in een datastructuur van een werknemer . Naast gegevens van de werknemer , elke gegevensstructuur bevat een aanwijzer naar de volgende datastructuur in de lijst . Herschikken werknemersgegevens is een kwestie van herschikken van de pointers , in plaats van om grote hoeveelheden data te bewegen om gewoon herschikken van een lijst .
|