Hvad er forskellen mellem * og &-operatørerne i C-programmering

Hvad Er Forskellen Mellem Og Operatorerne I C Programmering



Operatører bruges til at udføre operationer på variabler og er meget nyttige for programmøren til at udføre operationer som matematiske, relationelle og logiske former. I C-sprog har vi mange slags indbyggede funktioner, der bruges til at udføre specifikke opgaver ved hjælp af en enkelt tegnoperatør.

I denne guideline vil vi se forskellen mellem * og & operatører i C-programmering.

* Operatør i C

Det * operator er en af ​​de meget brugte operatorer i programmeringssproget C, der bruges til at hente værdierne af en pointer. Vi navngiver også *-operatør som en dereference-operatør. Ved at bruge denne operator kan du nemt få adgang til de lagrede data i hukommelsen ved hjælp af adressemarkørerne. Hvis du bruger det i programmet, skal du initialisere en markør, som peger på adressen, så man nemt kan hente den gemte værdi i adressemarkøren.







& Operatør i C

& operator på den anden side bruges til at returnere adressen på operanden i hukommelsesplaceringen. På grund af &-operatoren kan du nemt få adressen på den variabel, der henvises til i hukommelsesplaceringen. For at se adressen på variablen af ​​enhver form for datatype skal du angive navnet på variablen med tegnet &-operator.



Eksempler

Nedenfor er nogle eksempler på C-programmer, der bruger * operatør, & operatør og en kombination af begge.



Eksempel 1: Program bruger (*) Operator

#include

int vigtigste ( ) {
int EN = 5 ;
int * s = & EN ;
printf ( 'Værdien af ​​A er %d \n ' , * s ) ;
Vend tilbage 0 ;
}

Koden initialiserer variabel EN med værdi 5, så erklærer den en pointer-type variabel for at have en eller anden hukommelsesadresse, og i printf-funktionen viser den værdien af ​​adresse EN hvilket er 5.





Produktion



Eksempel 2: Program bruger (&) operatør

#include

int vigtigste ( )
{
int var1 = 1000 ;
int var2 ;
var2 = & var1 ;
printf ( 'Hukommelsesplaceringsadressen for var2 er %i' var2 ) ;
Vend tilbage 0 ;
}

I ovenstående kode er der for det første en heltalsvariabel var1 der har værdien 1000. Der er en anden variabel var2 der tager variablens adresse var1 . Adressen udskrives derefter ved hjælp af %jeg format specifikationer.

Produktion

Eksempel 3: Program bruger både & og * operatører

#include
int vigtigste ( ) {
int aa = 5 , bb ;
int * pp ;
pp = & aa ;
bb = * pp ;
printf ( '-----adressen på aa er 0x%x \n -----' , & aa ) ;
printf ( '------Bbbs adresse er 0x%x \n -----' , & bb ) ;
printf ( '-----Værdien af ​​pp er 0x%x \n -----' , s ) ;
printf ( '---------Nu er værdien af ​​aa %d \n -----' , aa ) ;
printf ( '-------værdi af *pp iss %d \n -----' , * pp ) ;
printf ( '-----Værdien af ​​bb er: %d----' , bb ) ;
Vend tilbage 0 ;
}

I ovenstående C-kode initialiseres to simple heltalsvariabler og en pointertypevariabel *pp. Derefter tildeler vi aa-adressen til pp og derefererer igen dens værdi ved bb-variabel. Til sidst udskriver vi alle værdierne ved at bruge printf-funktionen.

Produktion

Konklusion

Operatører har en meget væsentlig rolle i programmeringssproget. I denne artikel har vi diskuteret to operatører, der kun arbejder med enkelte operander og bruger til at øge ydeevnen af ​​kode i C-programmeringssproget. Begge * og & operatører udleder i deres betydning og funktionaliteter som * bruges til 'returnerer variabelværdien' mens & er til 'manipulation af værdier på køretid ved at tage hukommelsesadresser'.