logo

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.

Indirizzo-Operatore-in-C

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

>

stringa.sottostringa java

>

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




cambiare il nome della directory linux

// 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:

  1. Registra variabili
  2. Campi di bit
  3. Letterali
  4. 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:

  1. Passaggio di puntatori come argomenti di funzioni
  2. Aritmetica dei puntatori
  3. Implementazione di strutture dati