Rozdiel medzi ukazovateľom a referenciou

Autor: Laura McKinney
Dátum Stvorenia: 1 Apríl 2021
Dátum Aktualizácie: 6 Smieť 2024
Anonim
TOP 4 chyby. Čo robiť, ak námraza na tortu praskne a Popsicles praskne + recept.
Video: TOP 4 chyby. Čo robiť, ak námraza na tortu praskne a Popsicles praskne + recept.

Obsah


„Ukazovateľ“ aj „referenčný“ sa používajú na ukazovanie alebo odkazovanie na inú premennú. Základný rozdiel medzi nimi je však v tom, že ukazovateľ premennej ukazuje na premennú, ktorej pamäťové miesto je v nej uložené. Referenčná premenná je alias pre premennú, ktorá je jej priradená. Nasledujúca porovnávacia tabuľka skúma ďalšie rozdiely medzi ukazovateľom a referenciou.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieukazovateľreferencie
základnéUkazovateľ je adresa pamäte premennej.Odkaz je alias pre premennú.
výnosUkazovateľ ukazovateľa vracia hodnotu umiestnenú na adrese uloženej v ukazovateli ukazovateľa, ktorému predchádza znak ukazovateľa *.Referenčná premenná vracia adresu premennej, ktorej predchádza referenčná značka &.
operátori *, ->&
Null ReferencePremenná ukazovateľa sa môže vzťahovať na NULL.Referenčná premenná nemôže nikdy odkazovať na NULL.
inicializácia Môže sa vytvoriť neinicializovaný ukazovateľ.Neinicializovanú referenciu nie je možné nikdy vytvoriť.
Čas inicializáciePremenná ukazovateľa môže byť inicializovaná kedykoľvek v programe.Referenčnú premennú je možné inicializovať iba v čase jej vytvorenia.
reinitializationPremenná ukazovateľa môže byť opakovane inicializovaná toľkokrát, koľkokrát je to potrebné.Referenčná premenná nemôže byť v programe nikdy znovu inicializovaná.


Definícia ukazovateľa

„Ukazovateľ“ je premenná, ktorá uchováva umiestnenie v pamäti inej premennej. Operátory, ktoré používa premenná ukazovateľa, sú * a ->. Deklarácia ukazovateľa ukazovateľa obsahuje základný typ údajov, za ktorým nasleduje znak „*“ a názov premennej.

napíšte * var_name;

Pochopme ukazovateľ pomocou príkladu.

int a = 4; int * ptr = & a; cout <keďže referenčný operátor je &.

  • Premenná ukazovateľa, ak nenesie adresu žiadnej premennej, ukazuje na null. Na druhej strane referenčná premenná nemôže nikdy odkazovať na Null.
  • Vždy môžete vytvoriť jednotkovú ukazovateľovú premennú, ale keď potrebujeme alias nejakej premennej, vytvoríme referenciu, aby ste nikdy nemohli vytvoriť odkaz na jednotkovú veľkosť.
  • Ukazovateľ môžete znovu inicializovať, ale keď inicializujete, už ho nemôžete znova inicializovať.
  • Prázdny ukazovateľ môžete vytvoriť a kedykoľvek ho inicializovať, ale musíte vykonať inicializáciu chladenia iba v prípade, že vytvoríte odkaz.
  • Poznámka:


    Java nepodporuje ukazovatele.

    záver

    Ukazovateľ aj odkaz sa používajú na ukazovanie alebo odkazovanie na inú premennú. Obe sa však líšia v ich použití a implementácii.