Osoite Operaattori & C
The Osoite operaattori C on erityinen unaarioperaattori, joka palauttaa muuttujan osoitteen. Se on merkitty nimellä Et-symboli ( & ) . Tämä operaattori palauttaa kokonaisluvun arvon, joka on sen operandin osoite muistissa. Voimme käyttää osoiteoperaattoria (&) kaikenlaisten muuttujien, taulukoiden, merkkijonojen, funktioiden ja jopa osoittimien kanssa.
Syntaksi
Osoiteoperaattoria käytetään yleensä sen operandin etuliitteenä:
& operand
missä operandi voi olla muuttuja, taulukko, funktio, osoitin jne.
Osoite operaattori C
Esimerkkejä osoiteoperaattoreista
Esimerkki 1:
Yksinkertainen C-esimerkki osoittaa, kuinka osoiteoperaattoria käytetään ohjelmassamme.
C
// C program to illustrate the use of address operator> #include> > int> main()> {> > // declaring a variable> > int> x = 100;> > > // printing the address of the variable> > printf> (> 'The address of x is %p'> , &x);> > return> 0;> }> |
Lähtö
The address of x is 0x7fffe8f5591c
Selitys
Muuttuja x määriteltiin ja alustettiin arvolla 100 yllä olevassa ohjelmassa. Haimme tämän muuttujan x osoitteen käyttämällä osoiteoperaattoria (&) etuliitteenä ja tulostimme sen printf()-funktiolla.
Huomautus: %p-muodon määrittäjä osoitteen tulostamiseksi heksadesimaalimuodossa.
Yleensä osoiteoperaattorin palauttama arvo tallennetaan osoitin muuttuja ja sitten osoittimen viittaus poistetaan, jotta kyseiseen osoitteeseen tallennettu arvo saadaan.
Esimerkki 2:
Osoittimen käyttäminen osoiteoperaattorin palauttaman osoitteen tallentamiseen ja sen viittauksen poistamiseen.
C
// C program to illustrate the use of address operator with> // pointer> #include> > int> main()> {> > // integer variable> > int> x = 1;> > // integer pointer> > int> * ptrX;> > // pointer initialization with the address of x> > ptrX = &x;> > > // accessing value of x usin pointer> > printf> (> 'Value of x: %d
'> , *ptrX);> > > return> 0;> }> |
Lähtö
Value of x: 1
Esimerkki 3:
Jotkut vakiofunktiot, kuten scanf() vaativat myös muuttujan osoitteen. Näissä tapauksissa käytämme osoiteoperaattoria.
C
// C Program to illustrate the use of address operator with> // scanf()> #include> > int> main()> {> > // defining variable> > int> number;> > > printf> (> 'Enter any number: '> );> > // using adress operator & in scanf() to get the value> > // entered by the user in the console> > scanf> (> '%d'> , &number);> > > // priting the entered number> > printf> (> 'The entered number is: %d'> , number);> > return> 0;> }> |
Lähtö
Enter any number: 10 The entered number is: 10
Osoita operaattorin yhteensopimattomat entiteetit C:ssä
C:ssä on joitakin entiteettejä, joille emme voi käyttää osoiteoperaattoria, eli emme voi saada C:n entiteettien osoitteita. Jotkut niistä ovat:
- Rekisteröi muuttujat
- Bittikentät
- Literaalit
- Ilmaisut
Osoiteoperaattorin (&) sovellukset:
Osoiteoperaattoria (&) käytetään laajalti C-ohjelmissa eri entiteettien osoitteiden saamiseksi. Jotkut tärkeimmistä ja yleisimmistä sovelluksista ovat:
- Osoittimien välittäminen funktioargumentteina
- Osoittimen aritmetiikka
- Tietorakenteiden käyttöönotto