C – pekere

Annonser

Pekere i C er enkle og morsomme å lære. Noen C-programmeringsoppgaver utføres lettere med pekere, og andre oppgaver, for eksempel dynamisk minnetildeling, kan ikke utføres uten å bruke pekere. Så det blir nødvendig å lære tips for å bli en perfekt C-programmerer. La oss begynne å lære dem i enkle og enkle trinn.

Som du vet, er hver variabel en minneplassering, og hver minneplassering har sin adresse definert som er tilgjengelig med ampersand (&) operatør, som betegner en adresse i minnet. Tenk på følgende eksempel, som skriver ut adressen til de definerte variablene –

Når ovennevnte kode blir kompilert og utført, produserer den følgende resultat –

Address of var1 variable: bff5a400Address of var2 variable: bff5a3f6

Hva er pekere?

En peker er en variabel hvis verdi er adressen til en annen variabel, dvs. direkte adresse av minneplasseringen. Som en hvilken som helst variabel eller konstant, må du erklære en peker før du bruker den til å lagre en hvilken som helst variabeladresse. Den generelle formen for en pekervariabelerklæring er –

type *var-name;

Her er typen pekerens basetype; det må være en gyldig C-datatype, og var-name er navnet på pekervariabelen. Stjernen * som brukes til å erklære en peker er den samme stjernen som ble brukt til multiplikasjon. I denne uttalelsen blir imidlertid stjernen brukt til å betegne en variabel som peker. Ta en titt på noen av de gyldige pekererklæringene –

int *ip; /* pointer to an integer */double *dp; /* pointer to a double */float *fp; /* pointer to a float */char *ch /* pointer to a character */

Den faktiske datatypen for verdien til alle pekere, enten det er heltall, flottør, tegn eller på annen måte , er det samme, et langt heksadesimalt tall som representerer en minneadresse. Den eneste forskjellen mellom pekere med forskjellige datatyper er datatypen til variabelen eller konstanten som pekeren peker på.

Hvordan bruke pekere?

Det er noen få viktige operasjoner, som vi vil gjøre ved hjelp av pekere veldig ofte. (a) Vi definerer en pekervariabel, (b) tilordner adressen til en variabel til en peker og (c) får endelig tilgang til verdien på adressen som er tilgjengelig i pekervariabelen. Dette gjøres ved å bruke unary operator * som returnerer verdien av variabelen som ligger på adressen som er angitt av operanden. Følgende eksempel bruker disse operasjonene –

Når koden ovenfor kompileres og kjøres, gir den følgende resultat –

Address of var variable: bffd8b3cAddress stored in ip variable: bffd8b3cValue of *ip variable: 20

NULL-pekere

Det er alltid en god praksis å tilordne en NULL-verdi til en pekervariabel i tilfelle du ikke har en nøyaktig adresse som skal tildeles. Dette gjøres på tidspunktet for variabel erklæring. En peker som er tildelt NULL kalles en nullpeker.

NULL-pekeren er en konstant med verdien null er definert i flere standardbiblioteker. Vurder følgende program –

#include <stdio.h>int main () { int *ptr = NULL; printf("The value of ptr is : %x\n", ptr ); return 0;}

Når koden ovenfor er samlet og utført, gir den følgende resultat –

The value of ptr is 0

I de fleste av operativsystemene har programmer ikke tilgang til minne på adresse 0 fordi minnet er reservert av operativsystemet. Minneadressen 0 har imidlertid spesiell betydning; det signaliserer at pekeren ikke er ment å peke på et tilgjengelig minneplass. Men etter konvensjon, antas det at hvis en peker inneholder nullverdien (null), det antas å peke på ingenting.

For å se etter en nullpeker kan du bruke en «if» -uttrykk som følger –

if(ptr) /* succeeds if p is not null */if(!ptr) /* succeeds if p is null */

Pekere i detalj

Pekere har mange, men enkle konsepter, og de er veldig viktige for C-programmering. Følgende viktige pekerkonsepter skal være tydelige for alle C-programmerere –

Sr.Nr. Konsept & Beskrivelse
1 Pekere aritmetikk

Det er fire aritmetiske operatorer som kan brukes i pekere: ++, -, +, –

2 Array of pekere

Du kan definere matriser for å inneholde et antall pekere.

3 Pekeren til pekeren

C lar deg ha peker på en peker og så videre.

4 Videresending av pekere til funksjoner i C

Passer et argument med henvisning eller adresse gjør det mulig å endre det sendte argumentet i den anropende funksjonen av den kalt funksjonen.

5 Return peker fra funksjoner i C

C lar en funksjon også returnere en peker til den lokale variabelen, den statiske variabelen og det dynamisk tildelte minnet.

Annonser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *