Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hva er en peker i C
    ? En av funksjonene som gjør C slik kraftig programmeringsspråk er muligheten for programmerere å få tilgang til minnet direkte ved hjelp av pekere . Pekere brukes mye i C for håndtering av matriser av data , manipulere tegnstrenger , sende parametere til funksjoner og skape lenkede lister og andre komplekse datastrukturer . Pekere er en av de største kildene til forvirring for programmerere nye til C-språk . Forstå og bruke pekere er kritisk til effektiv C-programmering .
    Pointer spisser: Vær nøye med å rydde opp !
    Funksjon

    Et objekt pekeren, eller bare peker, er en variabel som inneholder et minne adresse hvor et objekt , for eksempel en struct eller flyte , eller en rekke objekter , er lagret. Med det minne adresse, kan programmereren lese, endre og flytte gjennom minnet ved hjelp av en peker .

    Fordeler

    Funksjoner som tar en peker til en ekstern objekt passert inn som en parameter kan endre dette objektet . Når funksjonen kommer ut , vil den nye verdien tilordnet til dette objektet vedvarer . En funksjon kan ta flere pekere , slik at en enkelt funksjon for å endre flere objekter med en enkelt funksjon samtale.

    En peker kan brukes til å navigere gjennom en rekke elementer systematisk eller tilfeldig bruker matrise notasjon , gjentakelse eller grunnleggende matematikk . Ved hjelp av pekere for matrise -tilgang er raskere enn de mer kompliserte implementeringer av tilsvarende funksjonalitet som finnes i andre språk . Mens slike implementeringer er ofte enklere å bruke og forhindre feil , er det ekstra overhead som påvirker ytelsen .
    Betydning

    Muligheten til å dynamisk allokere vilkårlige mengder heap minne under runtime er en teknikk som kalles " dynamisk minne allokering . " Mange tidligere språk, for eksempel Fortran , kreves mengden minne som er tildelt for strukturer som arrays for å bli satt på kompilering , og hvor mye minne som er tildelt kan ikke endres under kjøring av programmet . Pekere brukes i C for å holde adressen dynamisk allokert minne .
    Usage

    En peker er deklarert ved å plassere en stjerne (* ) mellom den type navn og variabelnavn.

    verdien av et objekt i minnet på adressen holdt av pekeren nås med " dereferencing " pekeren. . Dereferencing en peker gjøres ved å sette en stjerne ( * ) før pekeren navn

    Ved håndtering av pekere til structs , er medlem av struct referert ved hjelp av en pil ( - > ) mellom pekeren navn og medlemmet navn.

    adressen til et objekt kan nås ved å plassere en ampersand ( &) før objektets variabelnavn. Passerer et objekt adresse til en funksjon som kalles "pass som referanse. " Parameteren er erklært som en peker i funksjonen prototype. Funksjonstastene dereferences parameteren til å endre sin verdi, og verdien vil vedvare når funksjonen utganger.

    Arrays er skapt ved å allokere mye minne som kreves for å holde ønsket antall objekter av en gitt type. Dette gjøres under eller etter deklarasjon med pekeren notasjon og malloc eller calloc , eller under erklæringen hjelp matrise notasjon . Elementer av en matrise kan nås ved hjelp index referansen notasjon eller ved iterating matrisen pekeren . Iterasjon automatisk økning eller svekkelser adressen ved størrelsen på en enkelt element , slik at pekeren er plassert riktig i begynnelsen av neste eller forrige element .
    Warning

    Minne tildeling og deallocation ledes av programmereren. Minne som har blitt tildelt må deallocated når det ikke lenger er nødvendig . Sviktende å deallocate minne hindrer den fra å bli brukt til programmet avslutter . A " minnelekkasje " oppstår når en referanse til tildelte minnet er tapt uten frigjøre minnet først. Minnelekkasjer kan skje når en peker tilordnes på nytt , eller en funksjon avslutter uten å delegere eierskap til tildelte minnet .

    Tilgang minne utover slutten av allokert minne er en vanlig feil når du arbeider med matriser . Denne feilen kalles å ha en "array index utenfor banen . " Dette kan føre til at programmet oppfører seg feil eller avslutte uventet .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke en midlertidig buffer i C + + 
    ·Hvordan sortere i en Data Grid 
    ·Hvordan lage en Array i C som inneholder flere Strings 
    ·Innebygde Resources i Silverlight 
    ·Hvordan du redigerer Silverlight datarutenett 
    ·Hvordan Fyll en Vector i C 
    ·Hvordan Ring et String Array i C + + 
    ·Hvordan legge til en Check Box kolonne til en DataGridV…
    ·Hvordan konvertere en streng til en figur i C + + 
    ·Hvordan organisere en listen med Structs i C + + 
      Anbefalte artikler
    ·Hvordan Send en mobiltelefon en tekstmelding med en Pyt…
    ·Java Amortisering Kalkulator Kode hjelp 
    ·Hvordan sette opp PHP på IIS 6.0 
    ·Hvordan organisere e-postadresser Alfabetisk 
    ·Hvordan lage Quality CSS overgangar 
    ·Hvordan laste opp filer i bulk på Java 
    ·Hvordan lage en Abonner på nyhetsbrev PHP Database 
    ·Hvordan Swap 8 - Byte Big Endian i Python 
    ·Hvor å Endre Java 1.6 til Java 1.5 for Mac 
    ·Hvordan lage en URL Basert på WSDL 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/