logo

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






mvc for java

// 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;> }>

>

fizzbuzz java

>

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