Mitä eroa *- ja &-operaattoreiden välillä on C-ohjelmoinnissa

Mita Eroa Ja Operaattoreiden Valilla On C Ohjelmoinnissa



Operaattoreita käytetään suorittamaan operaatioita muuttujille, ja ne ovat erittäin hyödyllisiä ohjelmoijalle suorittaessaan operaatioita, kuten matemaattisia, relaatiomuotoja ja loogisia muotoja. C-kielessä meillä on monenlaisia ​​sisäänrakennettuja toimintoja, joita käytetään tiettyjen tehtävien suorittamiseen yksimerkkioperaattorin avulla.

Tässä ohjeessa näemme eron * ja & operaattorit C-ohjelmointiin.

* Operaattori C

The * operaattori on yksi C-ohjelmointikielen laajalti käytetyistä operaattoreista, jota käytetään osoittimen arvojen hakemiseen. Nimemme myös *-operaattorin dereference-operaattoriksi. Käyttämällä tätä operaattoria pääset helposti käsiksi muistiin tallennettuihin tietoihin osoiteosoittimien avulla. Jos käytät sitä ohjelmassa, sinun on alustettava osoitin, joka osoittaa osoitteeseen, jotta osoiteosoittimeen tallennettu arvo voidaan helposti hakea.







& Operaattori C

& toisaalta operaattoria käytetään palauttamaan operandin osoite muistipaikassa. &-operaattorin ansiosta saat helposti sen muuttujan osoitteen, johon muistipaikassa viitataan. Jos haluat nähdä minkä tahansa tietotyypin muuttujan osoitteen, sinun on annettava muuttujan nimi &-operaattorin merkillä.



Esimerkkejä

Alla on esimerkkejä käyttävistä C-ohjelmista * operaattori, & operaattori ja molempien yhdistelmä.



Esimerkki 1: Ohjelma käyttää (*) -operaattoria

#include

int pää ( ) {
int A = 5 ;
int * s = & A ;
printf ( 'A:n arvo on %d \n ' , * s ) ;
palata 0 ;
}

Koodi alustaa muuttujan A arvolla 5 se ilmoittaa osoitintyyppisellä muuttujalla olevan muistin osoite ja printf-funktiossa se näyttää osoitteen arvon A joka on 5.





Lähtö



Esimerkki 2: Ohjelma käyttää (&) -operaattoria

#include

int pää ( )
{
int var1 = 1000 ;
int var2 ;
var2 = & var1 ;
printf ( ' Var2:n muistipaikan osoite on %i' var2 ) ;
palata 0 ;
}

Yllä olevassa koodissa on ensinnäkin kokonaislukumuuttuja var1 jonka arvo on 1000. On toinenkin muuttuja var2 joka ottaa muuttujan osoitteen var1 . Osoite tulostetaan sitten käyttämällä %i muotomäärityksiä.

Lähtö

Esimerkki 3: Ohjelma käyttää sekä &- että *-operaattoreita

#include
int pää ( ) {
int aa = 5 , bb ;
int * s ;
s = & aa ;
bb = * s ;
printf ( '-----osoitteen aa-osoite on 0x%x \n -----' , & aa ) ;
printf ( '-----Bb:n osoite on 0x%x \n -----' , & bb ) ;
printf ( '-----P:n arvo on 0x%x \n -----' , s ) ;
printf ( '--------- Nyt aa:n arvo on %d \n -----' , aa ) ;
printf ( '-------arvon *pp iss %d \n -----' , * s ) ;
printf ( '-----B:n arvo on: %d----' , bb ) ;
palata 0 ;
}

Yllä olevassa C-koodissa alustetaan kaksi yksinkertaista kokonaislukumuuttujaa ja yksi osoitintyyppinen muuttuja *pp. Sitten annamme aa-osoitteen pp:lle ja poistamme sen arvon uudelleen bb-muuttujan avulla. Lopuksi tulostamme kaikki arvot printf-funktiolla.

Lähtö

Johtopäätös

Operaattoreilla on erittäin tärkeä rooli ohjelmointikielessä. Tässä artikkelissa olemme keskustelleet kahdesta operaattorista, jotka toimivat vain yksittäisten operandien kanssa ja käyttävät koodin suorituskyvyn parantamiseen C-ohjelmointikielellä. Molemmat * ja & operaattorit päättelevät merkityksestään ja toiminnallisuuksistaan * käytetään 'palauttaa muuttujan arvon', kun taas & on 'käyttöajan arvojen manipulointiin ottamalla muistiosoitteita'.