Съдържание:
- Определение - Какво означава Оператор на индирекцията?
- Techopedia обяснява оператора на индирекцията
Определение - Какво означава Оператор на индирекцията?
Операторът на индирекцията в контекста на C # е оператор, използван за получаване на стойността на променлива, към която сочи указател. Докато показалец, сочещ към променлива, осигурява индиректен достъп до стойността на променливата, съхранявана в нейния адрес на паметта, операторът на индирекцията пренасочва показалеца и връща стойността на променливата в това място на паметта. Операторът на индирекцията е одинарен оператор, представен със символа (*).
Операторът на индирекцията може да се използва в указател към показалец към цяло число, едноизмерен масив от указатели към цели числа, показалец към знака и указател към неизвестен тип.
Операторът на индирекцията е известен още като оператор за отклонение.
Techopedia обяснява оператора на индирекцията
Символът (*) се използва при деклариране на типове показатели и при извършване на индиректна индикация, докато операторът 'address-of' () връща адреса на променлива. Следователно операторът на индирекцията и адресът на оператора са обратни взаимно.
C # позволява използването на указатели само в опасен регион, което означава, че безопасността на кода в този регион не се проверява от общото време на изпълнение (CLR). В опасния регион операторът на индирекцията има право да чете и записва към показалец. Следните C # изявления илюстрират използването на оператора на индирекцията:
- int a = 1, b; // ред 1
- int * pInt = & a; // ред 2
- b = * pInt; // ред 3
Операторът на индирекцията трябва да се използва за отписване на валиден указател с адрес, подравнен към типа, към който сочи, за да се избегне неопределено поведение по време на изпълнение. Той не трябва да се прилага към невалиден указател или към израз, който не е от типа на показалеца, за да се избегнат грешки в компилатора. Въпреки това, след като хвърли невалиден указател към десния тип показалец, операторът на индирекцията може да се използва.
При деклариране на няколко указателя в един оператор операторът на индирекцията трябва да се запише само веднъж с основния тип и да не се повтаря за всяко име на показалец. Операторът на индирекцията е разпределителен в C #, за разлика от C и C ++. Когато операторът на индирекцията е приложен към нулев указател, това води до дефинирано от изпълнението поведение. Тъй като този оператор се използва в опасен контекст, ключовата дума unsafe трябва да се използва преди него заедно с опцията / unsafe по време на компилация. Това определение е написано в контекста на C #