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:
- Ved å bruke ampersand (&) -metoden
- 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 -
- Hva er et programmeringsspråk?
- C vs C ++
- Mønstre i C-programmering
- Beste C-kompilatorer
- Guide to Pointers in C ++
- Pekere i C # med eksempler