Indirekcijski operator

Autor: Lewis Jackson
Datum Stvaranja: 8 Svibanj 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Indirekcijski operator - Tehnologija
Indirekcijski operator - Tehnologija

Sadržaj

Definicija - Što znači neizravni operator?

Operator indirekcije, u con C =, je operator koji se koristi za dobivanje vrijednosti varijable na koju upućuje pokazivač. Dok pokazivač koji pokazuje na varijablu pruža neizravan pristup vrijednosti varijable pohranjene u njenoj memorijskoj adresi, operator indirekcije usmjerava pokazivač i vraća vrijednost varijable na tom memorijskom mjestu. Operator indirekcije je operirani operator predstavljen simbolom (*).

Operator indirekcije može se koristiti u pokazivaču na pokazivač na cijeli broj, jednodimenzionalni niz pokazivača na cjelobrojne brojeve, pokazivač na znak i pokazivač na nepoznatu vrstu.

Operator indirekcije također je poznat i kao operator dereference.

Uvod u Microsoft Azure i Microsoft Cloud | Kroz ovaj vodič naučit ćete o čemu se radi računalstvo u oblaku i kako vam Microsoft Azure može pomoći da preselite i pokrenete svoje poslovanje iz oblaka.

Techopedia objašnjava operatora neizravne vožnje

Simbol (*) koristi se u deklariranju vrsta pokazivača i u vršenju indirekcije pokazivača, dok operator 'address-of' () vraća adresu varijable. Stoga su indirektni operator i adresa operatera obrnuti jedni drugima.

C # omogućuje upotrebu pokazivača samo u nesigurnoj regiji, što podrazumijeva da sigurnost koda unutar te regije nije provjerena zajedničkim izvorom jezika (CLR). U nesigurnoj regiji operater indirekcije ima mogućnost čitanja i pisanja pokazivaču. Sljedeće C # izjave ilustriraju uporabu operatora indirekcije:
  • int a = 1, b; // linija 1
  • int * pInt = & a; // redak 2
  • b = * pInt; // redak 3
U prvom retku iznad, a i b su cjelobrojne varijable i a je dodijeljena vrijednost 1. U drugom retku adresa a pohranjena je u cjelobrojni pointer pInt (redak 2). Operator dereference koristi se u retku 3 za dodjeljivanje vrijednosti na adresi na koju je pInt dodijeljen cijeloj varijabli b.

Operator indirekcije trebao bi se koristiti za dereferenciranje valjanog pokazivača s adresom koja je usklađena s vrstom na koju ukazuje, kako bi se izbjeglo nedefinirano ponašanje tijekom izvođenja. Ne smije se primijeniti na poništavajući pokazivač ili na izraz koji nije tipa pointera, kako bi se izbjegle pogreške prevoditelja. Međutim, nakon bacanja pokazivača praznine na desni tip pokazivača, može se koristiti indirektni operator.

Kada deklarira više pokazivača u jednoj rečenici, operator indirekcije treba biti napisan samo jednom s temeljnom vrstom, a ne ponavljati za svako ime pokazivača. Operator indirekcije je distributivan u C #, za razliku od C i C ++. Kad se operator indirekcije primijeni na nulti pointer, to rezultira ponašanjem definiranim u implementaciji. Budući da se ovaj operator upotrebljava u nesigurnom kontekstu, ključna riječ unsafe trebala bi se koristiti prije nje, zajedno s / nesigurnom opcijom tijekom kompilacije. Ova je definicija napisana u C #