Индирекцијски оператор

Аутор: Lewis Jackson
Датум Стварања: 8 Може 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Индирекцијски оператор - Технологија
Индирекцијски оператор - Технологија

Садржај

Дефиниција - Шта значи индиректни оператор?

Оператор индирекције, у конзоли Ц #, је оператор који се користи за добијање вредности променљиве на коју поинтер указује. Док показивач који показује на променљиву пружа индиректни приступ вредности променљиве која је смештена у њеној меморијској адреси, оператор индирекције дереференцира показивач и враћа вредност променљиве на ту меморијску локацију. Оператор индирекције је оперирани оператор представљен симболом (*).

Оператор индирекције може се користити у показивачу на показивач на цео број, једнодимензионалном низу показивача на целе бројеве, показивачу на тачку и показивачу на непознату врсту.

Оператор индирекције је такође познат и као оператор дереференце.

Увод у Мицрософт Азуре и Мицрософт Цлоуд | Кроз овај водич научићете о томе шта се рачуна у облаку и како вам Мицрософт Азуре може помоћи да мигрирате и покренете посао из облака.

Тецхопедиа објашњава оператора за индиректно кретање

Симбол (*) се користи за проглашавање типова показивача и за вршење индирекције показивача, док оператор 'аддресс-оф' () враћа адресу променљиве. Дакле, индиректни оператор и адреса оператера су обрнути једни другима.

Ц # омогућава употребу показивача само у несигурној регији, што имплицира да сигурност кода у тој регији није верификована заједничким извршним језиком (ЦЛР). У несигурном региону, оператеру индирекције је дозвољено читање и писање показивачу. Следеће изјаве Ц # илуструју употребу индиректног оператора:
  • инт а = 1, б; // Линија 1
  • инт * пИнт = & а; // ред 2
  • б = * пИнт; // ред 3
У првом ретку изнад, а и б су целобројне променљиве, а а је додељена вредност 1. У 2. реду, адреса а је смештена у цеобројни поинтер пИнт (ред 2). Оператор дереференце користи се у линији 3 за доделу вредности целој варијабли б на вредности на коју је указала пИнт.

Оператор индирекције требао би се користити за дереференцирање важећег показивача са адресом која је поравната с типом на који указује, како би се избјегло недефинирано понашање током извођења. Не би требало да се примењује на поништавајући показивач или на израз који није типа поинтера, како би се избегле грешке преводилаца. Међутим, након бацања показивача празнине на десни тип показивача, може се користити оператер индирекције.

Када декларира више показивача у једној изјави, оператор индирекције треба писати само једном с основним типом, а не понављати за свако име показивача. Оператор индирекције је дистрибутиван у Ц #, за разлику од Ц и Ц ++. Када се оператер индирекције примијени на нулту показивач, то резултира понашањем дефинираним имплементацијом. Будући да се овај оператер користи у несигурном контексту, кључна реч унсафе треба да се користи пре ње, заједно са / несигурном опцијом током компилације. Ова дефиниција је написана у конзоли Ц #