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:
- Genom att använda ampersand (&) -metoden
- 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 -
- Vad är ett programmeringsspråk?
- C vs C ++
- Mönster i C-programmering
- Bästa C-kompilatorer
- Guide till pekare i C ++
- Pekare i C # med exempel