Hvordan klarer c pointers

Indlæg af Alice Christensen     opdateret: 2011-11-20

Pegepinde er nok den sværeste konceptet vil du støde på i en begyndelse C klassen . Forståelse C pegepinde er meget lettere, hvis du har en klar idé om , hvordan computere lagrer oplysninger-og en klar idé om , hvordan adresserne på hukommelsespladser vedrører de data, der er lagret i disse hukommelsespladser . Dette skyldes, pegepinde handler om adresser . Forstå hvordan løse virker gør det nemmere at forstå, hvordan pegepinde arbejde
1 .
Forstå første hvordan adresse , type og værdier arbejder sammen i computerens hukommelse . Hver variabel du bruger i din C-programmet vil have en type og en adresse i hukommelsen . Antag X er en dobbelt ord ( type) , der fylder hukommelsespladser 1000 og 1001 . Adressen på X ( skriftlig X ) er 1000 , men systemet ved, at X er en dobbelt ord , så værdien af X ( skrevet X ) vil være i 1000 og 1001 . X er navnet på en boks, der i øjeblikket har ( for eksempel ) 15 og det kan ændre sig . Adressen på X er 1000 , og dette vil sandsynligvis ikke ændre sig. Sørg for, at dette begreb er klar før de går på .
2 .
Lær , hvad det betyder, når hukommelsespladser indeholder adresserne på andre hukommelsespladser . C compiler ved hvornår en variabel er en pegepind , og hvilken type af genstande den peger på . For eksempel " dobbelt * P "er den erklæring, erklærer P til at være en pegepind . Det betyder, at symbolet P er forbundet med en hukommelse ( siger 2000) , og at systemet ved, at ting i placering 2000 ( henvisninger er kun ¨¦t ord lang ) er adresser . Nu kunne vi sige " P= X; " , og resultaterne vil være at sætte 1000 ( adresse X) i computerens hukommelse placering 2000 . Hvis vi nu evalueret * P ( hvad P peger på ), ville vi få 15 , fordi P point til 15 . P indeholder adressen på X , men det peger på indholdet af X. Vær sikker på at dette begreb er klar før de går på .
3 .
Forstå , at dette dybest set er alt hvad der er til det . Hver ny anvendelse af pegepinde du vil være " syntaktisk sukker "-for at gøre sproget lettere at bruge. Hvis du har en klar strategi om, hvordan adresser , typer og hukommelse arbejder sammen du har et solidt fundament for at forstå den syntaktiske sukker . Lærer hver ny koncept grundigt før de går videre til den næste .

gode råd og advarsler


  • Hvis R er en array i dit C-program , R så er virkelig en pointer-R holder adressen på det første element i array'et. R [ 0 ] er en måde at referere til det første element i arrayet , men * R virker også , og * R er den måde , at systemet altid vil bruge .
  • Glem ikke om virkningerne af " type " , når du laver pointer aritmetik. * ( R +1) vil give det andet element i array'et selv om array kun indeholder dobbelt ord . Det system ved, at når du tilføjer et nummer til en pegepind , du ikke altid tilføje en-det afhænger af , hvilken type ting markøren peger på , og dette blev kendt for at være en dobbelt ord
  • .


    Previous:hvordan man får adgang VBA til at åbne et Word-dokument Next:hvordan man åbner en postsættet



     

    Kommentarer

    Code:
    change