logo

Adresa operátora a v C

The Operátor adresy v C je špeciálny unárny operátor, ktorý vracia adresu premennej. Označuje sa ako Symbol ampersandu ( & ) . Tento operátor vráti celočíselnú hodnotu, ktorá je adresu jeho operandu v pamäti. Operátor adresy (&) môžeme použiť s akýmkoľvek druhom premenných, poľa, reťazcov, funkcií a dokonca aj ukazovateľov.

Syntax

Operátor adresy sa vo všeobecnosti používa ako predpona svojho operandu:



  &   operand>

kde operand môže byť premenná, pole, funkcia, ukazovateľ atď.

Adresa-operátor-v-C

Operátor adresy v C

Príklady operátorov adries

Príklad 1:

Jednoduchý príklad C, ktorý demonštruje, ako používať operátor adresy v našom programe.



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

>

>

Výkon

The address of x is 0x7fffe8f5591c>

Vysvetlenie

Premenná X bol definovaný a inicializovaný s hodnotou 100 v programe vyššie. Získali sme adresu tejto premennej x pomocou operátora adresy (&) ako predponu a vytlačili sme ju pomocou funkcie printf().

Poznámka: Špecifikátor formátu %p na tlač adresy v hexadecimálnom tvare.

Vo všeobecnosti je hodnota vrátená operátorom adresy uložená v ukazovateľ premennej a potom sa dereferencuje ukazovateľ, aby sa získala hodnota uložená v tejto adrese.

Príklad 2:

Použitie ukazovateľa na uloženie adresy vrátenej operátorom adresy a jej následné dereferencovanie.

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

applet applet

>

>

Výkon

Value of x: 1>

Príklad 3:

Niektoré štandardné funkcie ako scanf() tiež vyžadujú adresu premennej. V týchto prípadoch používame operátora adresy.

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

>

>

Výkon

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

Adresujte nekompatibilné entity operátora v C

V C sú niektoré entity, pre ktoré nemôžeme použiť operátor adresy, t. j. nemôžeme získať adresu týchto entít v C. Niektoré z nich sú:

  1. Registrovať premenné
  2. Bitové polia
  3. Doslovy
  4. Výrazy

Aplikácie operátora adresy (&):

Operátor adresy (&) je široko používaný v programoch C na získanie adries rôznych entít. Niektoré z hlavných a najbežnejších aplikácií sú:

  1. Odovzdávanie ukazovateľov ako argumentov funkcií
  2. Aritmetika ukazovateľa
  3. Implementácia dátových štruktúr