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.

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:
- Registre de variables
- Camps de bits
- Literals
- 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:
- Passar punters com a arguments de funció
- Aritmètica del punter
- Implementació d'estructures de dades