Introduksjon til pekere i C

På C eller andre programmeringsspråk har vi et konsept med variabel. Disse variablene brukes til å holde verdier i. Man kan bruke slike variabler mens man programmerer. Imidlertid er det få oppgaver som ikke krever variabler, men som krever adressen til disse variablene. Adressen til variabler betyr minnet som faktisk er der disse variablene er eksisterende. I dette emnet skal vi lære om Pekere i C. Vi kan definere pekeren som en type variabel som inneholder adressen til en hvilken som helst annen variabel som kan ha en verdi

Bruk av pekere i programmeringsspråk og C

La oss diskutere det der C faktisk krever en peker. Det er mange oppgaver som dynamisk minnetildeling som krever pekere mens du programmerer i C. Å bruke pekere slik oppgave kan gjøres enkelt

Ulike måter å få tilgang til variabel adresse på C

La oss prøve å vite hva som er de forskjellige måtene vi kan skrive ut adressen til en variabel i C.

Det er to måter vi faktisk kan skrive ut adressen til en variabel på. Disse to metodene er:

  1. Ved å bruke ampersand (&) -metoden
  2. Ved å bruke peker

La oss se på hver metode med et eksempel

1. Ved å bruke ampersand (&) -metoden

I denne metoden vil vi bruke konseptet ampersand til å skrive ut adressen til en variabel

La oss se på dette med et eksempel

#include
int main () (
double varNumValue= 10.2;
char varTextValue(10) = “abc”;
printf("The address of variable varNumValue: %x\n", &varNumValue );
printf("varTextValue variable address is : %x\n", &varTextValue );
return 0;
)

Nå, kopier kodebiten ovenfor og kjør den

Den vil vise følgende utgang:

The address of variable varNumValue: a0665a48
The address of variable varTextValue is : a0665a3e

Skjønt, kan man se den forskjellige verdien som tildeles tilfeldig mens du kjører eksemplet

Ovennevnte eksempel er ikke mye brukt, men det er verdt å vite. La oss se på det andre konseptet vi diskuterer i dette emnet.

2. Ved å bruke peker

Dette er en moderne tilnærming for å få tilgang til adressen til en variabel. Før du bruker pekeren, gi oss beskjed om den generelle syntaks for å erklære en peker

  • Den generelle syntaks for å erklære en peker - En vanlig syntaks som vi bruker for å erklære en variabel er:

data_type *variable

Dette er en vanlig måte å erklære en hvilken som helst peker i C, her representerer data_type typen variabelen hvis adresse må lagres. * angir at den deklarerte variabelen er en peker. en variabel brukes ganske enkelt for å få tilgang til verdien

Et enkelt eksempel på dette er:

double *var_text

Etter å ha diskutert konseptet generell syntaks for å erklære en peker , la oss vite hvordan vi kan bruke en peker i programmering

For å bruke en peker i C, trenger man i utgangspunktet å følge følgende tre trinn:

  • Definisjon av pekervariabel
  • Tilordne adressen til variabelen hvis adresse vi ønsker å holde i pekervariabelen
  • Når vi først har en pekervariabel med adressen, kan vi igjen hente verdien til variabelen fra adressen som er lagret i pekeren. Dette kan gjøres ved å bruke * i C. * er ganske enkelt en av unary operatører

La oss bruke de ovennevnte trinnene med et eksempel, så forklarer vi dette eksemplet trinn for trinn

Eksempel

#include
int main () (
int varNumValue = 10;
int *ipointervarNumValue;
ipointervarNumValue = &varNumValue;
printf("Address of the variable varNumValue is: %x\n", &varNumValue );
printf("Address stored in the variable ipointervarNumValue is: %x\n", ipointervarNumValue);
printf("Value of the variable *ipointervarNumValue is: %d\n", *ipointervarNumValue );
return 0;
)

Nå, kopier kodebiten ovenfor og kjør den

Den vil vise følgende utgang:

Address of the variable varNumValue is: bf7b7f94
Address stored in the variable ipointervarNumValue is: bf7b7f94
Value of the variable *ipointervarNumValue is: 10

La oss prøve å forstå eksemplet ovenfor

Linjen int varNumValue = 10; erklærer ganske enkelt en variabel med verdien 10

Den andre linjen som er linje ved siden av: int * ipointervarNumValue; blir ganske enkelt erklært for å lagre adressen til variabelen

Den neste kodebiten som er: ipointervarNumValue = & varNumValue; brukes til å holde variabelen adresse. Her bruker vi konseptet ampersand som vi diskuterte tidligere i artikkelen

Nå kan vi ganske enkelt få verdien og bruke en peker i kodebiten vår

La oss se nærmere på forskjellige typer pekere i C

Typer peker i C

Det er forskjellige typer pekere i C. De grunnleggende pekertypene som vanligvis brukes er:

  • NULL Pointer
  • Dangling Pointer
  • Generiske poeng
  • Wild Pointer

La oss forklare hver

1. Nullpeker: En nullpeker er en type peker som peker mot ingenting. Det peker vanligvis til baseadressen til segmentet. Hvis ingenting er tilordnet pekeren, har den en nullverdi

Det brukes vanligvis i headerfiler som stdio.h, alloc.h

2. Dangler-pekeren: Denne typen peker kan opprettes ved å slette objektet uten å endre pekerverdien

3. Generisk peker: Denne typen peker deklareres ved å bruke en variabel av typen tomrom. Siden den er av ugyldig datatype, blir den derfor referert til som en generisk peker. Denne typen peker peker ikke på noen data

4. Wild Pointer: En peker som ikke er initialisert er kjent som en wild pointer. Denne typen pekere initialiseres under kjøretid når man trenger å bruke den. Denne typen pekere er kjent som villpekeren

Konklusjon

Pekere i C brukes til å peke på adressen til variabelen. Disse variablene brukes til dynamisk allokering av minne i C. Disse variablene er deklarert med en stjerne for å vise at variabelen er en peker. Disse brukes i overskriftsfilen i programmering.

Anbefalte artikler

Dette er en guide til Pekere i C. Her diskuterer vi de forskjellige typene og bruken av pekere i C med metoder og eksempler. Du kan også se på følgende artikler for å lære mer -

  1. Hva er et programmeringsspråk?
  2. C vs C ++
  3. Mønstre i C-programmering
  4. Beste C-kompilatorer
  5. Guide to Pointers in C ++
  6. Pekere i C # med eksempler