Een computer gebruikt zijn geheugen om gegevens op te slaan met de waarden , zoals getallen , letters en bits waarden . Gegevens worden opgeslagen in geheugencellen geïdentificeerd met een unieke geheugenadres . Pointers zijn datastructuren die geen waarden bevatten , in plaats daarvan , pointers bevatten een geheugen adres van een geheugencel die een waarde opslaat . Pointers zijn nuttig omdat ze je in staat om data structuren te bouwen zonder een gedefinieerde grootte ( zoals arrays en gelinkte lijsten ) , toe te wijzen en het vrijgeven dynamisch geheugen en het uitvoeren van indirecte data manipulatie . C Strings Programmeertalen werken met beperkte middelen. Een programma moet weten hoeveel geheugen het zal moeten vóór uitvoering. Hierdoor ontstaat het probleem van het beheren van een gegevenstype dat geen gedefinieerde grootte heeft ( bijvoorbeeld , een programma dat " leest " de leden , waarbij elke paragraaf een verschillende lengte ) . Pointers pakken deze situatie in de vorm van C strings . AC koord bestaat uit een pointer die wijst naar de eerste letter van de tekenreeks , en een teken dat het einde van de string ( zoals nieuwe regel , " \\ n " ) signalen . De wijzer wordt verhoogd met 1 per keer , tot hij naar het laatste teken ( " \\ n " ) . Linked Lists Een gelinkte lijst is een lijst die verhoogt zijn grootte als nieuwe elementen toegevoegd krijgen aan de lijst . In tegenstelling tot arrays en C strings die gegevens opslaan sequentieel in het geheugen , gelinkte lijsten zijn niet noodzakelijkerwijs in aangrenzende geheugenadressen opgeslagen . Geschakelde lijsten worden gevormd door knooppunten en knooppunten elk het volgende knooppunt . Het voordeel van deze data structuur is dat de lijst verandert de grootte op basis van behoeften van de gebruiker . Dynamic Memory Allocation Programma normaal toewijzen het geheugen wanneer ze gebouwd . Soms is het toegewezen geheugen is niet genoeg om de gegevens met onbekende grootte te behandelen . Programmeurs gebruiken een techniek genaamd dynamisch toewijzen van geheugen om zeker te zijn dat het programma dit probleem kunnen ondervangen . Dynamisch geheugen is toegankelijk met behulp van een pointer te wijzen op een geheugen -adres buiten het geheugen gereserveerd in eerste instantie door het programma . Pointers vrijgeven ook het geheugen zodra deze niet langer nodig is . Indirect Data Manipulation Programmeertalen vereisen vaak wijziging van de gegevens waarde . Programma's gebruiken functies aan te passen en bewerkingen uitvoeren op gegevens . Door de hiërarchie over programma worden gegevens voortdurend gekopieerd en deallocated zodra het wordt doorgegeven aan functies . Functies wijzigen van de gegevens , maar zodra de gegevens worden gebruikt , worden deze wijzigingen verloren . Het gebruik van pointers in plaats van basisgegevens types zorgt ervoor dat we langs een geheugenadres aan functies . Op deze manier eventuele wijzigingen in de gegevens die zijn opgeslagen op de geheugenkaart mailadres wordt blijven voor de rest van de uitvoering van het programma . |