Dator > tutorial för pekare i C

  • tutorial för pekare i C


  • En av de mer svåra begrepp som en utvecklare att lära sig C datorspråk måste lära sig är pekare , en viktig konstruera i C som avsiktligt saknas nyare språk som Java och Ruby . I alla språk , programmerare deklarera variabler som refererar till platser i minnet där data lagras . De kan sedan använda det enkla namnet tilldelats den variabeln för att hämta och ändra data i minnet . Men i C , kan programmerare gå ett steg längre och få tillgång till minne vända sig . Detta gör att vissa verksamheter att bli snabbare och ger en viss makt , men kan också ge allvarliga fel om de används vårdslöst
    1
    Klistra in följande kod i din favorit editor C : .



    int adress ,

    int-värde ,



    värde=15 ;

    adress= value;



    I denna kod finns två heltal skapas : adress och värde . Värdet är tilldelat numret 15. Då är adressen tilldelas en " referens " ( det är vad " " betyder ) till värde : ett heltal som innehåller den exakta platsen i minnet där uppgifter för värdet lagras . Variabeln " adress " är känd som en pekare , eftersom stället data innehåller den en adress till en annan variabel . Du kan säga det " poäng " till den andra variabeln , därav namnet
    2
    Klistra in följande kod i din favorit editor C " pekare ".



    cout
    cout <* adress ,



    Eftersom " adress " är en pekare kommer adressen av värde att skrivas till skärmen . Det är omöjligt att förutse vad detta nummer kommer att bli, eftersom det kommer att hänvisa till en minnesplats som valts vid körning . Innehåller dock andra raden en " * , " de " dereference operatören . " Detta kommando används för att ange att du vill hämta värdet lagras på den adress som refereras av en pekare . Så kommer det ut " . 15 "
    3
    Klistra in följande och , innan du läser vidare , försöka förutse vad som kommer att skrivas ut :



    cout <* adress ,

    värde=22 ;

    cout <* adress ;



    Om du sa, " 15 " och " 22 ", skulle ni ha rätt . " Adress " inte innehar det faktiska värdet , berättar det helt enkelt var datorn ska leta . Så , om värdet lagras i adressen ändras , dereferencing pekaren kommer att ge den nytt värde. Detta fungerar också i omvänd :



    * adress=32 ;

    cout


    Detta skriver siffran " 32 . " Du kan förhoppningsvis börja se både kraften och faran av pekare : Den lät dig att ändra innehållet i en variabel utan att någonsin komma åt variabeln
    4 . .
    Klistra in följande :



    int second_address=adress + + ;

    * second_address=10 ;



    Här är en annan pekare deklareras som heter " second_address . " Det är då tilldelas samma värde som den första adressen plus ett , och skriver data för integer " 10 " till den adressen . Återigen kan du se kraften och faran av pekare . Hellre än att be C att ge dig en del av minnet som anses vara fria , har du bara manuellt skriven data till en minnesplats som kanske eller kanske inte vara i bruk .


Previous:nothing Next:hur man fångar en skärm i VB





Relaterade artiklar


  • hur man använder Game Maker 6,1 VARS
  • hur man får scriptet namn i vbs
  • php image MIME-typer
  • hur man beräknar median algoritmer
  • hur man kan extrahera zip -filer i UNIX
  • vad är filändelsen trädet ?
  • hur man skapar ActiveX- kontroller
  • hur man lär sig C # steg för steg
  • hur du gör din bild svartvit
  • hur du krypterar en fil i C #