inledande guide till pekare i C

Ett. introduktion

C är ett mycket kraftfullt programmeringsspråk som används av många utvecklare att utveckla olika typer av programvara. Men för en nybörjare, är C ett ganska svårt språk att förstå. Mycket av de svårigheter i lärandet C kommer från förvirring över begreppet pekare. I den här artikeln ska jag förklara begreppet pekare med hjälp av vissa kodavsnitt.

2. pekare, adresser och variabler

En pekare är en variabel som innehåller en minnesadress.

Det är viktigt att skilja mellan en pekare, den adress som pekaren innehar, och värdet på den adress som innehas av pekaren. Detta är källan till mycket av förvirringen om pekare. Vi kommer att belysa detta i följande kodavsnitt:

int nVariable = 5;
int * pPointer = &nVariable;

Det första påståendet deklarerar en variabel “nVariable” av typen heltal och tilldelar ett värde 5 till den.

Det andra uttalandet deklarerar en pekare variabel som håller adressen till ett heltal, och tilldelas adressen för variabeln “nVariable” till det.

Så låt bara föreställa minnet är en uppsättning av skåp. Var och en av dessa skåp har ett skåp som tilldelats den för identifiering. Det första påståendet kommer göra något liknande reservera locker numret “1234”, och sätta värdet “5” i detta skåp. Det andra uttalandet kommer att göra något liknande reservera locker numret “4321”, och sedan sätta värdet “1234” i skåp. Så locker numret “4321” är faktiskt lagra skåp antalet skåpet som lagrar värdet “5”.

Tre. indirekthet

Termen “indirekthet” hänför sig till hur man får tillgång värdet vid adress som innehas av en pekare.

Den indirekthet operatör (*) kallas också dereference operatören. Följande kodavsnitt i C + + skall illustrera denna metod:

int nVariable = 5;
int * pPointer = &nVariable;
printf (“Utgången är% d”, * pPointer);

Utsignalen från kodfragment kommer att vara nummer “5”. Kom ihåg att “pPointer” är en pekare variabel som håller adressen för variabeln “nVariable”. Lägg märke till att vi använder “* pPointer” att bedöma värdet parkerats med variabeln “nVariable”, och detta är vad vi kallar “indirekthet”.

4. slutsats

Denna artikel syftar till att ge en enkel guide för att förstå begreppet pekare, adresser och variabler i C. Läsarna antas ha vissa grundläggande kunskaper i C.