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