Alt hvad du behøver at vide om markører i C

Denne artikel vil introducere dit emne, der betragtes som et vanskeligt emne at lære, vi henviser til emnet pointer på C-sprog.

Mens du lærte C, er du måske stødt på udtrykket 'pointers' og ofte hørt, at det er et koncept, der er svært at forstå. Markører er nyttige i forskellige programmeringsopgaver, og det er ikke så svært at forstå. Denne artikel introducerer dig til henvisninger i C og fortæller dig, hvorfor er de ikke så vanskelige at lære, som de ser ud.

Følgende er de punkter, der er dækket af denne artikel,





  1. Hvad er en markør?
  2. Reference- og afvisningsoperatører
  3. Typer af markører
  4. Sådan bruges en markør

Lad os starte med første bit af denne markør i C-artikel,

Tip i C

Hvad er en markør?

En markør er en variabel, der er i stand til at gemme adressen på en variabel. Nu kan du måske spørge, hvad er nytten af ​​det? Dybest set peger markøren på hukommelsesplaceringen for den variabel, hvis adresse er angivet. Denne egenskab hjælper med dynamisk hukommelsesallokering, hvilket er et vigtigt aspekt ved programmering.



Lad os forstå, at det er syntaks og se på et eksempel

Data_Type * pointer_name

Eksempel: int * ptr

Følgende er den næste bit i denne Pointers in C-artikel



Reference- og afvisningsoperatører

Før vi dyber dybere ned i begrebet pointer, lad os forstå nogle grundlæggende ting, der vil hjælpe os senere. Når du bruger pegepinde, vil du helt sikkert bruge '&' og '*' operatorer. Nu er det tid til at forstå deres betydning og anvendelse.

Lad os først forstå Referenceoperatør, der ofte kaldes 'Adresse til' operatør. Brug (ampersand) operator med en variabel returnerer os en hukommelsesplacering, også kendt som adressen på den givne variabel.

Eksempel

int * ptr int a ptr = & a

Adressen til variablen 'a' er gemt i variablen ptr.

Lad os nu forstå operatøren De-Referencing eller 'Value at', der betegnes med en stjerne (*). Det hjælper med at hente værdien fra hukommelsesplaceringen, der er gemt i markørvariablen

hvordan man opsætter atom til python

Eksempel

int * ptr int a * ptr = & a printf ('Værdi af a =% dn', * ptr)

Typer af markør Den *, der bruges under erklæring af en markør, er ikke med henblik på at henvise, men fortæller kompilatoren, at den givne variabel er en markør.Ovenstående udskriftserklæring udskriver den værdi, der er til stede i hukommelsesplaceringen, og denne hukommelsesplacering peges af markøren. dvs. værdien af ​​variablen 'a'.

Der er flere typer henvisninger, der adskiller sig afhængigt af den måde, de bruges på i et program.Vi vil se på nogle af de mest almindeligt anvendte typer.

Null Pointer

En nulværdi tildeles en markør, når du ikke er sikker på, hvilken adresse der skal tildeles. Det kan gøres ved at tildele 'NULL' -værdien til en markør på erklæringstidspunktet. Værdien af ​​denne markør er 0.

int * ptr = NULL

Vilde markør

A en vildmarkør oprettes ved ikke at tildele en værdi til en markørvariabel. Det skal bruges omhyggeligt, da det kan resultere i uventede resultater.

hadoop admin roller og ansvar

Hængende markør

Når en markør peger på en slettet variabel eller en tildelt hukommelse, er markøren kendt som en dinglende markør.Denne markør peger på et ikke-eksisterende hukommelsessted. Lad os se på den næste bit af denne Pointers in C-artikel

Sådan bruges en markør

Nu har vi en kort forståelse af Reference- og dereference-operatører. I dette afsnit vil vi forstå, hvordan man bruger pegepinde. Indtil nu har vi lært, hvordan man deklarerer en markør og bruger den til nogle grundlæggende operationer. På dette tidspunkt har vi nok viden til at bruge pegepinde til virkelig fantastiske programmeringsopgaver ved at udføre aritmetiske operationer på dem.

Normalt udføres disse operationer på arrays. Subtraktion til 2 adresser kan give os afstanden mellem 2 hukommelsesplaceringer.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Vores array, hvor vi udfører operationer * / int * ptr / * Pointer * / ptr = First_array / * Tildel adressen på array til markørvariablen * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

Produktion

Output - markører i C - EdurekaPrøv at implementere koden selv og udfør forskellige aritmetiske operationer.Lad os bruge markører med strenge.

#include #include int main () {char str [] = 'Hello World' / * Oprettelse af et array * / char * p / * Pointer * / p = str printf ('Udskrivning af alle tegn i vores stringn') p = str for (int i = 0i


Med dette kommer vi til slutningen af ​​denne blog om 'Pointers In C'. Jeg håber, du fandt dette informativt og hjælpsomt, hold øje med flere tutorials om lignende emner. Du kan også tjekke vores træningsprogram t
o få dybdegående viden om jQuery sammen med dens forskellige applikationer, det kan du til live online træning med support døgnet rundt og adgang til hele livet.Implementér ovenstående kode med forskellige strenge og ændringer. Nu har vi en god forståelse af alle nøglebegreber relateret til markøren.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet på denne blog, så vender vi tilbage til dig.