![Indirizzamento diretto e indiretto](https://i.ytimg.com/vi/5FxYRgh5bwo/hqdefault.jpg)
Contenuto
- Definizione - Cosa significa operatore indiretto?
- Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.
- Techopedia spiega l'operatore indiretto
Definizione - Cosa significa operatore indiretto?
Un operatore indiretto, nel con di C #, è un operatore utilizzato per ottenere il valore di una variabile a cui punta un puntatore. Mentre un puntatore che punta a una variabile fornisce un accesso indiretto al valore della variabile memorizzata nel suo indirizzo di memoria, l'operatore di riferimento indiretto dereferenzia il puntatore e restituisce il valore della variabile in quella posizione di memoria. L'operatore di riferimento indiretto è un operatore unario rappresentato dal simbolo (*).L'operatore di riferimento indiretto può essere utilizzato in un puntatore a un puntatore a un numero intero, un array monodimensionale di puntatori a numeri interi, un puntatore a un carattere e un puntatore a un tipo sconosciuto.
L'operatore di riferimento indiretto è anche noto come operatore di dereference.
Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.
Techopedia spiega l'operatore indiretto
Il simbolo (*) viene utilizzato per dichiarare i tipi di puntatore e per eseguire l'indirizzamento del puntatore, mentre l'operatore "indirizzo-di" () restituisce l'indirizzo di una variabile. Pertanto, l'operatore di riferimento indiretto e l'indirizzo dell'operatore sono inversi l'uno dall'altro.C # consente di utilizzare i puntatori solo in un'area non sicura, il che implica che la sicurezza del codice all'interno di quella regione non è verificata da Common Language Runtime (CLR). Nell'area non sicura, l'operatore indiretto può leggere e scrivere su un puntatore. Le seguenti istruzioni C # illustrano l'uso dell'operatore indiretto:
- int a = 1, b; // Linea 1
- int * pInt = & a; // linea 2
- b = * pInt; // riga 3
L'operatore di riferimento indiretto dovrebbe essere utilizzato per determinare un puntatore valido con un indirizzo allineato al tipo a cui punta, in modo da evitare comportamenti indefiniti in fase di esecuzione. Non deve essere applicato a un puntatore vuoto o a un'espressione che non è di tipo puntatore, per evitare errori del compilatore. Tuttavia, dopo aver lanciato un puntatore vuoto sul tipo di puntatore destro, è possibile utilizzare l'operatore di riferimento indiretto.
Quando si dichiarano più puntatori in una singola istruzione, l'operatore di riferimento indiretto deve essere scritto una sola volta con il tipo sottostante e non ripetuto per ogni nome di puntatore. L'operatore di riferimento indiretto è distributivo in C #, a differenza di C e C ++. Quando l'operatore di riferimento indiretto viene applicato a un puntatore nullo, si ottiene un comportamento definito dall'implementazione. Poiché questo operatore viene utilizzato in un con non sicuro, la parola chiave unsafe deve essere usata prima di essa insieme all'opzione / unsafe durante la compilazione. Questa definizione è stata scritta nel con di C #