Indirizzo Operatore & in C
IL Operatore di indirizzo in C è un operatore unario speciale che restituisce l'indirizzo di una variabile. È indicato come il Simbolo della e commerciale ( & ) . Questo operatore restituisce un valore intero che è il indirizzo del suo operando nella memoria. Possiamo utilizzare l'operatore indirizzo (&) con qualsiasi tipo di variabile, array, stringa, funzione e persino puntatore.
Sintassi
L'operatore indirizzo viene generalmente utilizzato come prefisso del suo operando:
& operand
Dove operando può essere una variabile, un array, una funzione, un puntatore, ecc.
Operatore di indirizzo in C
Esempi di operatori di indirizzo
Esempio 1:
Semplice esempio in C per dimostrare come utilizzare l'operatore indirizzo nel nostro programma.
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;> }> |
Produzione
The address of x is 0x7fffe8f5591c
Spiegazione
Una variabile X è stato definito e inizializzato con il valore 100 nel programma precedente. Abbiamo recuperato l'indirizzo di questa variabile x utilizzando l'operatore indirizzo (&) come prefisso e lo abbiamo stampato utilizzando la funzione printf().
Nota: L'identificatore di formato %p per stampare l'indirizzo in formato esadecimale.
In genere, il valore restituito dall'operatore indirizzo viene archiviato nel file puntatore variabile e quindi il puntatore viene dereferenziato per ottenere il valore memorizzato in quell'indirizzo.
Esempio 2:
Utilizzando un puntatore per memorizzare l'indirizzo restituito dall'operatore di indirizzo e quindi dereferenziarlo.
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;> }> |
Produzione
Value of x: 1
Esempio 3:
Anche alcune funzioni standard come scanf() richiedono l'indirizzo della variabile. In questi casi utilizziamo l'operatore indirizzo.
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;> }> |
Produzione
Enter any number: 10 The entered number is: 10
Indirizzo Operatore Entità Incompatibili in C
Ci sono alcune entità in C per le quali non possiamo utilizzare l'operatore indirizzo, ovvero non possiamo ottenere l'indirizzo di tali entità in C. Alcune di esse sono:
- Registra variabili
- Campi di bit
- Letterali
- Espressioni
Applicazioni dell'operatore indirizzo (&):
L'operatore indirizzo (&) è ampiamente utilizzato nei programmi C per ottenere gli indirizzi di diverse entità. Alcune delle applicazioni principali e più comuni sono:
- Passaggio di puntatori come argomenti di funzioni
- Aritmetica dei puntatori
- Implementazione di strutture dati