| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Hvad er en pointer i C
    ? En af de funktioner , der gør C sådan et kraftfuldt programmeringssprog er evnen for programmører at få adgang til hukommelse direkte ved hjælp pointere. Pointers er udbredt i C til håndtering datamatrixer , manipulere tekststrenge , videregive parametre til funktioner og skabe hægtede lister og andre komplekse datastrukturer . Pointers er en af ​​de største kilder til forvirring for programmører nye i C-sprog . Forstå og bruge pejlemærker er afgørende for en effektiv C programmering .
    Pointer pointer : Pas til at rydde op !
    Function

    Et objekt pointer , eller blot pointer er en variabel, der indeholder en hukommelse adresse, hvor en genstand , såsom en struct eller flyder , eller et array af objekter , er gemt. Med denne hukommelse adresse, kan programmøren læse, ændre og flytte gennem hukommelsen ved hjælp af en pegepind .

    Fordele

    Funktioner, der tager en pointer til en ekstern objekt passerede ind som en parameter kan ændre det pågældende objekt. Når funktionen afslutter , vil den nye værdi tildelt til objektet fortsætter. En funktion kan tage flere pegepinde , så en enkelt funktion at modificere flere objekter med en enkelt funktion opkald.

    En markør kan anvendes til at navigere gennem en række elementer systematisk eller tilfældig bruger matrix notation , iteration eller grundlæggende matematik . Brug pejlemærker for matrix -adgang er hurtigere end de mere komplicerede implementeringer af lignende funktionalitet findes i andre sprog. Selv om sådanne implementeringer er ofte lettere at bruge og forebygge fejl , der er yderligere overliggende , der påvirker ydeevnen.
    Betydning

    evnen til dynamisk tildele vilkårlige mængder bunke hukommelse under runtime er en teknik kaldet "dynamisk allokering af hukommelse . " Mange tidligere sprog, såsom Fortran , krævede mængde hukommelse tildelt for strukturer såsom arrays , der skal fastsættes påkompileringstidspunktet , og mængden af allokeret hukommelse kunne ikke ændres under kørslen af ​​programmet. Pointers bruges i C for at holde adressen på dynamisk tildelte hukommelse.
    Brug

    pointer erklæres ved at placere en stjerne ( * ) mellem typen navn og variabelnavn.

    værdien af ​​et objekt i hukommelsen på den adresse , som markøren er adgang til ved " dereferere " markøren . . Dereferere en pointer gøres ved at sætte en stjerne (*) foran markøren navnet

    Ved håndtering pointere til structs er medlem af struct refereres ved hjælp af en pil (-> ) mellem markøren navn og medlemmet navn.

    adressen af ​​et objekt kan tilgås ved at placere et og-tegn (& ), før objektets variabelnavnet. Passing et objekts adresse til en funktion kaldes "pass ved henvisning . " Parameteren er erklæret som en pegepind i funktionen prototype. Funktionsmodulerne dereferences parameteren til at ændre dens værdi, og værdien vil fortsætte , når funktionen udgange.

    Arrays er skabt ved at tildele den mængde hukommelse, der kræves for at holde det ønskede antal objekter af en given type. Dette opnås under eller efter erklæring med pointer notation og malloc eller calloc eller under erklæring efter matrix notation. Elementer i et array kan tilgås ved hjælp indeksreferenceperiode notation eller ved iteration array pointer. Iteration automatisk øges eller reduceres adresse ved størrelsen af ​​en enkelt element , så markøren er placeret korrekt i begyndelsen af ​​den næste eller forrige element .
    Warning

    Hukommelse allokering og deallokering ledes af programmøren . Hukommelse, der har fået tildelt , skal deallokeret når det ikke længere er nødvendig . Undlade at deallocate hukommelse forhindrer den i at blive brugt , indtil ansøgningen udgange. A " hukommelsesfejl " opstår, når en henvisning til tildelte hukommelse er tabt uden at frigøre hukommelsen først. Memory leaks kan ske, når en pointer er genindtrådt , eller en funktion afslutter uden at uddelegere ejerskabet af den tildelte hukommelse.

    Adgang hukommelse ud over enden af allokeret hukommelse er en almindelig fejl , når du arbejder med arrays. Denne fejl kaldes at have en " arrayindeks out of bounds ". Dette kan få programmet til at opføre sig forkert eller afslutte uventet.

    Forrige :

    næste :
      Relaterede artikler
    ·Målsætning Spørgende i C Programming 
    ·Sådan Afsætte en 2D array ved hjælp malloc 
    ·Sådan Find en String i hukommelsen buffer med C + + 
    ·Sådan Kombiner en fil ved hjælp C + + 
    ·Sådan erklære en Array of Structs i C 
    ·Sådan får du en System Date i C # 
    ·Sådan Beregn et Infix Expression 
    ·Hvordan at skjule en kommandoknap i Visual C 
    ·Sådan at rydde skærmen i Visual C 
    ·Sådan tilføjes rækker til en Datagrid 
      Anbefalede Artikler
    ·Hvordan formaterer jeg datoer i VBS 
    ·Hvordan laver permanente ændringer Sys.Path 
    ·Sådan bruges Dwgthumbnail.Ocx i Visual Basic 
    ·Sådan installeres en MySQL Extension til PHP Red Hat 
    ·Hvad er en kompileret Signatur 
    ·Hvad er forskellen mellem Java og J2EE 
    ·Hvordan Lær PLC programmering for Free 
    ·DirectX Visual Basic Tutorial 
    ·Sådan Slut PHP MySQL til et DB 
    ·Sådan bruges Java 2D at male på et billede 
    Copyright © Computer Viden http://www.computerdk.com