logo

Adresa operátora & v C

The Operátor adresy v C je speciální unární operátor, který vrací adresu proměnné. Označuje se jako Symbol ampersandu ( & ) . Tento operátor vrací celočíselnou hodnotu, která je adresu jeho operandu v paměti. Operátor adresy (&) můžeme použít s libovolnými proměnnými, poli, řetězci, funkcemi a dokonce i ukazateli.

if příkaz java

Syntax

Operátor adresy se obecně používá jako předpona jeho operandu:



  &   operand >

kde operand může být proměnná, pole, funkce, ukazatel atd.

Adresa-operátor-v-C

Operátor adresy v C

Příklady adresových operátorů

Příklad 1:

Jednoduchý příklad C, který demonstruje, jak používat operátor adresy v našem programu.



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ýstup

všechna velká písmena příkaz excel
The address of x is 0x7fffe8f5591c>

Vysvětlení

Proměnná X byl definován a inicializován s hodnotou 100 v programu výše. Adresu této proměnné x jsme získali pomocí operátoru adresy (&) jako předponu a vytiskli ji pomocí funkce printf().

Poznámka: Specifikátor formátu %p pro tisk adresy v hexadecimálním tvaru.

Obecně je hodnota vrácená operátorem adresy uložena v ukazatel a poté je ukazatel dereferencován, aby se získala hodnota uložená v této adrese.

Příklad 2:

Použití ukazatele k uložení adresy vrácené operátorem adresy a následné dereferencování.

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

>

xor v Javě

>

Výstup

Value of x: 1>

Příklad 3:

Některé standardní funkce jako scanf() také vyžadují adresu proměnné. V těchto případech používáme 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;> }>

>

>

java znak na řetězec

Výstup

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

Entity neslučitelné s operátorem v C

V C jsou některé entity, pro které nemůžeme použít operátor adresy, tj. nemůžeme získat adresu těchto entit v C. Některé z nich jsou:

  1. Registrovat proměnné
  2. Bitová pole
  3. Doslovy
  4. Výrazy

Aplikace adresního operátora (&):

Operátor adresy (&) je široce používán v programech C k získání adres různých entit. Některé z hlavních a nejběžnějších aplikací jsou:

  1. Předávání ukazatelů jako argumentů funkcí
  2. Aritmetika ukazatele
  3. Implementace datových struktur