Introduktion till pekare i C

På C eller andra programmeringsspråk har vi ett begrepp med variabel. Dessa variabler används för att hålla värden i. Man kan använda sådana variabler under programmering. Det finns emellertid få uppgifter som inte kräver variabler men kräver adress för dessa variabler. Adressen för variabler betyder minnesplatsen verklig där dessa variabler finns. I det här ämnet kommer vi att lära oss om Pekare i C. Vi kan definiera pekaren som en typ av variabel som innehåller adressen till alla andra variabler som kan innehålla något värde

Användning av pekare i programmeringsspråk och C

Låt oss nu diskutera det där C faktiskt kräver en pekare. Det finns många uppgifter som dynamisk minnesallokering som kräver pekare när du programmerar i C. Med hjälp av pekare kan en sådan uppgift göras enkelt

Olika sätt att komma åt variabel adress i C

Låt oss försöka veta vilka olika sätt vi kan skriva ut adressen till en variabel i C.

Det finns två sätt på vilka vi faktiskt kan skriva ut adressen till en variabel. Dessa två metoder är:

  1. Genom att använda ampersand (&) -metoden
  2. Genom att använda pekaren

Låt oss undersöka varje metod med ett exempel

1. Genom att använda metoden ampersand (&)

I den här metoden kommer vi att använda konceptet ampersand för att skriva ut adressen till en variabel

Låt oss titta på detta med ett exempel

#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;
)

Nu kopierar du kodavsnittet ovan och kör det

Följande utgång visas:

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

Även om man kan se det olika värdet som tilldelas slumpmässigt när man kör exemplet

Ovan nämnda exempel används inte mycket men det är värt att veta. Låt oss nu se till det andra konceptet som vi diskuterar i detta ämne.

2. Genom att använda pekaren

Detta är ett modernt tillvägagångssätt för att komma åt adressen till en variabel. Innan du använder pekaren, låt oss veta den allmänna syntaxen för att förklara en pekare

  • Den allmänna syntaxen för att deklarera en pekare - En vanlig syntax som vi använder för att deklarera en variabel är:

data_type *variable

Detta är ett vanligt sätt att deklarera alla pekare i C, här representerar data_typ typen av variabel vars adress måste lagras. * anger att den deklarerade variabeln är en pekare. en variabel används helt enkelt för att komma åt värdet

Ett enkelt exempel på detta är:

double *var_text

Efter att ha diskuterat begreppet allmän syntax för att deklarera en pekare , låt oss veta hur vi kan använda en pekare i programmering

För att använda en pekare i C måste man i princip följa följande tre steg:

  • Definition av pekvariabeln
  • Tilldela adressen till variabeln vars adress vi vill hålla i pekvariabeln
  • När vi väl har en pekvariabel med adressen kan vi återigen hämta värdet på variabeln från adressen lagrad i pekaren. Detta kan göras med * i C. * är helt enkelt en av de unära operatörerna

Låt oss använda ovanstående steg med ett exempel och sedan förklarar vi detta exempel steg för steg

Exempel

#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;
)

Nu kopierar du kodavsnittet ovan och kör det

Följande utgång visas:

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

Låt oss nu försöka förstå exemplet ovan

Linjen int varNumValue = 10; deklarerar helt enkelt en variabel med värdet 10

Den andra raden som ligger bredvid den: int * ipointervarNumValue; förklaras helt enkelt för att lagra variabelns adress

Nästa kodavsnitt som är: ipointervarNumValue = & varNumValue; används för att hålla adressen till variabeln. Här använder vi begreppet ampersand som vi diskuterade tidigare i artikeln

Nu kan vi helt enkelt få värdet och använda en pekare i vårt kodavsnitt

Låt oss nu titta på olika typer av en pekare i C

Typer av pekare i C

Det finns olika typer av en pekare i C. De grundläggande typerna av pekare som vanligtvis används är:

  • NULL-pekaren
  • Dinglande pekare
  • Generiska pekare
  • Wild Pointer

Låt oss förklara var och en

1. Nullpekare: En nollpekare är en typ av pekare som pekar på ingenting. Det pekar generellt på segmentets basadress. Om inget tilldelas pekaren har den ett nullvärde

Det används vanligtvis i rubrikfiler som stdio.h, alloc.h

2. Dangler-pekaren: Denna typ av pekare kan skapas genom att ta bort objektet utan att ändra pekarvärdet

3. Generisk pekare: Denna typ av pekare deklareras med en variabel av typen tom. Eftersom den är av ogiltig datatyp hänvisas den till som en generisk pekare. Denna typ av pekare pekar inte på några data

4. Vildpekare: En pekare som inte har initialiserats kallas en vildpekare. Den här typen av pekare initialiseras under körning när man behöver använda den. Denna typ av pekare kallas vildpekare

Slutsats

Pekare i C används för att peka på variabelns adress. Dessa variabler används för dynamisk allokering av minne i C. Dessa variabler deklareras med en asterisk för att visa att variabeln är en pekare. Dessa används i rubrikfilen i programmering.

Rekommenderade artiklar

Detta är en guide till Pekare i C. Här diskuterar vi olika typer och användningar av pekare i C med metoder och exempel. Du kan också titta på följande artiklar för att lära dig mer -

  1. Vad är ett programmeringsspråk?
  2. C vs C ++
  3. Mönster i C-programmering
  4. Bästa C-kompilatorer
  5. Guide till pekare i C ++
  6. Pekare i C # med exempel

Kategori: