logo

Adreça de l'operador i a C

El Operador d'adreça a C és un operador unari especial que retorna l'adreça d'una variable. Es denota com el Símbol d'ampersand (&) . Aquest operador retorna un valor enter que és el adreça del seu operand en la memòria. Podem utilitzar l'operador d'adreça (&) amb qualsevol tipus de variables, matrius, cadenes, funcions i fins i tot punters.

Sintaxi

L'operador d'adreça s'utilitza generalment com a prefix del seu operand:



  &   operand>

on operand pot ser una variable, una matriu, una funció, un punter, etc.

Adreça-Operador-en-C

Operador d'adreça a C

Exemples d'operadors d'adreces

Exemple 1:

Exemple C senzill per demostrar com utilitzar l'operador d'adreça al nostre programa.



C


c matriu de cadenes





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

>

>

Sortida

govinda
The address of x is 0x7fffe8f5591c>

Explicació

Una variable x es va definir i inicialitzar amb el valor 100 al programa anterior. Vam recuperar l'adreça d'aquesta variable x utilitzant l'operador d'adreça (&) com a prefix i la vam imprimir amb la funció printf().

Nota: L'especificador de format %p per imprimir l'adreça en forma hexadecimal.

llistes en java

Generalment, el valor retornat per l'operador d'adreça s'emmagatzema al fitxer punter variable i, a continuació, es desfereix el punter per obtenir el valor emmagatzemat en aquesta adreça.

Exemple 2:

Utilitzant un punter per emmagatzemar l'adreça retornada per l'operador d'adreça i després desreferenciar-la.

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

>

cicle de vida del desenvolupament de programari

>

Sortida

Value of x: 1>

Exemple 3:

Algunes funcions estàndard com scanf() també requereixen l'adreça de la variable. En aquests casos, utilitzem l'operador d'adreça.

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

>

aplicacions amagades en aquest dispositiu

>

Sortida

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

Adreça entitats incompatibles de l'operador a C

Hi ha algunes entitats a C per a les quals no podem utilitzar l'operador d'adreça, és a dir, no podem obtenir l'adreça d'aquestes entitats a C. Alguns d'ells són:

  1. Registre de variables
  2. Camps de bits
  3. Literals
  4. Expressions

Aplicacions de l'operador d'adreces (&):

L'operador d'adreces (&) s'utilitza àmpliament als programes C per obtenir les adreces de diferents entitats. Algunes de les aplicacions principals i més habituals són:

  1. Passar punters com a arguments de funció
  2. Aritmètica del punter
  3. Implementació d'estructures de dades