Adresseoperatør og i C
De Adresseoperatør i C er en spesiell unær operator som returnerer adressen til en variabel. Det er betegnet som Ampersand-symbol ( & ) . Denne operatoren returnerer en heltallsverdi som er adressen til operanden i minnet. Vi kan bruke adresseoperatøren (&) med alle slags variabler, matriser, strenger, funksjoner og til og med pekere.
Syntaks
Adresseoperatøren brukes vanligvis som et prefiks til operanden:
& operand
hvor operand kan være en variabel, matrise, funksjon, peker osv.
Adresseoperatør i C
Eksempler på adresseoperatører
Eksempel 1:
Enkelt C-eksempel for å demonstrere hvordan du bruker adresseoperatøren i programmet vårt.
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;> }> |
Produksjon
The address of x is 0x7fffe8f5591c
Forklaring
En variabel x ble definert og initialisert med verdien 100 i programmet ovenfor. Vi hentet adressen til denne variabelen x ved å bruke adresseoperatøren (&) som prefiks og skrev den ut med funksjonen printf().
Merk: %p-formatspesifikasjonen for å skrive ut adressen i heksadesimal form.
Vanligvis lagres verdien returnert av adresseoperatøren i pekeren variabel og deretter blir pekeren dereferert for å få verdien lagret i den adressen.
Eksempel 2:
Bruke en peker for å lagre adressen returnert av adresseoperatøren og deretter derefererere den.
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;> }> |
Produksjon
Value of x: 1
Eksempel 3:
Noen standardfunksjoner som scanf() krever også adressen til variabelen. I disse tilfellene bruker vi adresseoperatøren.
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;> }> |
Produksjon
Enter any number: 10 The entered number is: 10
Adresser operatørinkompatible enheter i C
Det er noen enheter i C som vi ikke kan bruke adresseoperatøren for, dvs. vi kan ikke få adressen til disse enhetene i C. Noen av dem er:
- Registrer variabler
- Bitfelt
- Bokstaver
- Uttrykkene
Applikasjoner fra adresseoperatør (&):
Adresseoperatøren (&) er mye brukt i C-programmer for å få adressene til forskjellige enheter. Noen av de viktigste og vanligste applikasjonene er:
- Sende pekere som funksjonsargumenter
- Pekeraritmetikk
- Implementering av datastrukturer