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
#includeint 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
#includeint 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
#includeint 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'.