logo

Adressoperatör & i C

De Adressoperatör i C är en speciell unär operator som returnerar adressen till en variabel. Det betecknas som Ampersand-symbol ( & ) . Denna operator returnerar ett heltalsvärde som är adress till dess operand i minnet. Vi kan använda adressoperatorn (&) med alla typer av variabler, matriser, strängar, funktioner och till och med pekare.

Syntax

Adressoperatorn används vanligtvis som ett prefix till sin operand:



  &   operand>

var operand kan vara en variabel, array, funktion, pekare, etc.

Adress-Operator-i-C

Adressoperatör i C

Exempel på adressoperatörer

Exempel 1:

Enkelt C-exempel för att visa hur man använder adressoperatören i vårt program.



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

noll checkar i java

>

vad är Androids påskägg
>

Produktion

The address of x is 0x7fffe8f5591c>

Förklaring

En variabel x definierades och initierades med värdet 100 i programmet ovan. Vi hämtade adressen till denna variabel x genom att använda adressoperatorn (&) som prefix och skrev ut den med funktionen printf().

Notera: %p-formatspecifikationen för att skriva ut adressen i hexadecimal form.

I allmänhet lagras värdet som returneras av adressoperatören i pekare variabel och sedan avreferenseras pekaren för att få värdet lagrat i den adressen.

Exempel 2:

Använda en pekare för att lagra adressen som returneras av adressoperatören och sedan därhänvisa.

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

strängar till heltal

>

>

Produktion

Value of x: 1>

Exempel 3:

Vissa standardfunktioner som scanf() kräver också adressen till variabeln. I dessa fall använder vi adressoperatö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;> }>

>

konvertera datum till sträng

>

Produktion

Enter any number: 10 The entered number is: 10>

Adressera operatörsinkompatibla enheter i C

Det finns vissa enheter i C för vilka vi inte kan använda adressoperatören, dvs. vi kan inte få adressen till dessa enheter i C. Några av dem är:

  1. Registrera variabler
  2. Bitfält
  3. Bokstäver
  4. Uttryck

Applikationer av adressoperatör (&):

Adressoperatören (&) används ofta i C-program för att få adresser till olika enheter. Några av de stora och vanligaste applikationerna är:

  1. Att skicka pekare som funktionsargument
  2. Pekararitmetik
  3. Implementering av datastrukturer