Adresseoperatør og i C

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.

Adresse-Operator-i-C

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:

  1. Registrer variabler
  2. Bitfelt
  3. Bokstaver
  4. 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:

  1. Sende pekere som funksjonsargumenter
  2. Pekeraritmetikk
  3. Implementering av datastrukturer