Cuprins:
Definiție - Ce înseamnă operator de Indirecție?
Un operator de indirecție, în contextul C #, este un operator utilizat pentru a obține valoarea unei variabile către care indică un indicator. În timp ce un indicator îndreptat către o variabilă oferă un acces indirect la valoarea variabilei stocate pe adresa sa de memorie, operatorul de indirecție abandonează indicatorul și returnează valoarea variabilei în acea locație de memorie. Operatorul de indirecție este un operator unar reprezentat de simbolul (*).
Operatorul de indirecție poate fi utilizat într-un indicator către un indicator către un număr întreg, un tablou unidimensional de indicatori la întregi, un indicator către un char și un indicator la un tip necunoscut.
Operatorul de indirecție este, de asemenea, cunoscut sub numele de operatorul de dereferire.
Techopedia explică operatorul de Indirecție
Simbolul (*) este utilizat în declararea tipurilor de indicatori și în efectuarea indirecției indicatoare, în timp ce operatorul „adresă-a” returnează adresa unei variabile. Prin urmare, operatorul de indirecție și adresa operatorului sunt invers unul de altul.
C # permite utilizarea indicatoarelor doar într-o regiune nesigură, ceea ce implică faptul că siguranța codului în acea regiune nu este verificată de limbajul comun runtime (CLR). În regiunea nesigură, operatorul de indirecție are voie să citească și să scrie într-un indicator. Următoarele declarații C # ilustrează utilizarea operatorului de indirecție:
- int a = 1, b; // linia 1
- int * pInt = & a; // randul 2
- b = * pInt; // linia 3
Operatorul de indirecție ar trebui folosit pentru a elibera un indicator valid cu o adresă aliniată la tipul de care indică, astfel încât să se evite comportamentul nedefinit la timpul de execuție. Nu trebuie aplicat pe un pointer void sau pe o expresie care nu este de tip pointer, pentru a evita erorile compilatorului. Cu toate acestea, după ce ați aruncat un indicator de gol la tipul de indicator drept, poate fi utilizat operatorul de indirecție.
Când se declară mai multe indicatoare într-o singură instrucțiune, operatorul de indirecție ar trebui să fie scris o singură dată cu tipul de bază și să nu fie repetat pentru fiecare nume de pointer. Operatorul de indirecție este distributiv în C #, spre deosebire de C și C ++. Când operatorul de indirecție este aplicat unui indicator nul, acesta are ca rezultat un comportament definit de implementare. Deoarece acest operator este utilizat într-un context nesigur, cuvântul cheie nesigur trebuie utilizat înaintea acestuia, împreună cu opțiunea / nesigur în timpul compilării. Această definiție a fost scrisă în contextul C #
