Indirection operator

May -Akda: Lewis Jackson
Petsa Ng Paglikha: 8 Mayo 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Indirection Operator in C || Lesson 60 || C Programming || Learning Monkey ||
Video.: Indirection Operator in C || Lesson 60 || C Programming || Learning Monkey ||

Nilalaman

Kahulugan - Ano ang ibig sabihin ng operator ng Indirection?

Ang isang indirection operator, sa con ng C #, ay isang operator na ginamit upang makuha ang halaga ng isang variable na kung saan ang isang point ng pointer. Habang ang isang pointer na tumuturo sa isang variable ay nagbibigay ng isang hindi tuwirang pag-access sa halaga ng variable na nakaimbak sa memorya ng memorya nito, ang indirection operator ay nagbabahagi sa pointer at ibabalik ang halaga ng variable sa lokasyon ng memorya. Ang indirection operator ay isang unary operator na kinakatawan ng simbolo (*).

Ang indirection operator ay maaaring magamit sa isang pointer sa isang pointer sa isang integer, isang solong-dimensional na hanay ng mga payo sa mga integer, isang pointer sa isang char, at isang pointer sa isang hindi kilalang uri.

Ang indirection operator ay kilala rin bilang dereference operator.

Isang Panimula sa Microsoft Azure at ang Microsoft Cloud | Sa buong gabay na ito, malalaman mo kung ano ang lahat ng cloud computing at kung paano makakatulong ang Microsoft Azure sa iyo upang lumipat at patakbuhin ang iyong negosyo mula sa ulap.

Ipinapaliwanag ng Techopedia ang operator ng Indirection

Ginagamit ang simbolo ng (*) sa pagdedeklara ng mga uri ng pointer at sa pagsasagawa ng indikasyon ng pointer, habang ang 'address-of' operator () ay nagbabalik ng address ng isang variable. Samakatuwid, ang indirection operator at ang address-of operator ay inverses ng bawat isa.

Pinapayagan lamang ng C # ang paggamit ng mga payo sa hindi ligtas na rehiyon, na nagpapahiwatig na ang kaligtasan ng code sa loob ng rehiyon na iyon ay hindi napatunayan ng karaniwang basurahan ng wika (CLR). Sa hindi ligtas na rehiyon, pinapayagan ang operator ng indirection na magbasa at sumulat sa isang pointer. Ang sumusunod na mga pahayag ng C # ay naglalarawan ng paggamit ng indirection operator:
  • int a = 1, b; // linya 1
  • int * pInt = & a; // linya 2
  • b = * pInt; // linya 3
Sa unang linya sa itaas, ang a at b ay mga variable na integer at ay itinalaga ng isang halaga ng 1. Sa linya 2, ang address ng isang ay naka-imbak sa integer pointer pInt (linya 2). Ang dereference operator ay ginagamit sa linya 3 upang italaga ang halaga sa address na itinuro ng pInt sa variable ng integer b.

Ang indirection operator ay dapat gamitin upang mag-alangan ng isang may-akda na pointer na may isang address na nakahanay sa uri na tinuturo nito, upang maiwasan ang hindi natukoy na pag-uugali sa runtime. Hindi ito dapat mailapat sa isang walang saysay na pointer o sa isang ekspresyon na hindi isang uri ng pointer, upang maiwasan ang mga error sa tagagawa. Gayunpaman, pagkatapos ng paghahagis ng isang walang bisa na pointer sa tamang uri ng pointer, maaaring magamit ang indirection operator.

Kapag nagpapahayag ng maraming mga payo sa isang solong pahayag, ang indirection operator ay dapat na isulat nang isang beses lamang sa pinagbabatayan na uri at hindi paulit-ulit para sa bawat pangalan ng pointer. Ang indirection operator ay namamahagi sa C #, hindi tulad ng C at C ++. Kapag ang indirection operator ay inilalapat sa isang null pointer, nagreresulta ito sa isang pag-uugali na tinukoy ng pagpapatupad. Dahil ang operator na ito ay ginagamit sa isang hindi ligtas na con, ang keyword na hindi ligtas ay dapat gamitin bago ito kasama ang / hindi ligtas na pagpipilian sa pag-iipon. Ang kahulugan na ito ay isinulat sa con ng C #