Rozdíl mezi ukazatelem a referencí

Autor: Laura McKinney
Datum Vytvoření: 1 Duben 2021
Datum Aktualizace: 1 Červenec 2024
Anonim
Rozdíl mezi ukazatelem a referencí - Technologie
Rozdíl mezi ukazatelem a referencí - Technologie

Obsah


„Ukazatel“ i „odkaz“ se používají k označení nebo odkazování na jinou proměnnou. Ale základní rozdíl mezi nimi je, že proměnná ukazatele ukazuje na proměnnou, jejíž paměťové umístění je v ní uloženo. Referenční proměnná je alias pro proměnnou, která je k ní přiřazena. Následující srovnávací tabulka zkoumá další rozdíly mezi ukazatelem a referencí.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníUkazatelOdkaz
ZákladníUkazatel je adresa paměti proměnné.Odkaz je alias pro proměnnou.
Vrací seProměnná ukazatel vrátí hodnotu umístěnou na adrese uložené v proměnné ukazatele, které předchází značka ukazatele *.Referenční proměnná vrací adresu proměnné, které předchází referenční značka &.
Operátoři *, ->&
Null ReferenceProměnná ukazatele může odkazovat na NULL.Referenční proměnná nemůže nikdy odkazovat na NULL.
Inicializace Lze vytvořit neinicializovaný ukazatel.Neinicializovaný odkaz nelze nikdy vytvořit.
Čas inicializaceProměnná ukazatele může být inicializována kdykoli v programu.Referenční proměnnou lze inicializovat pouze v době jejího vytvoření.
ReinitializaceProměnná ukazatele může být znovu inicializována tolikrát, kolikrát je to potřeba.Referenční proměnnou nelze v programu nikdy znovu inicializovat.


Definice ukazatele

„Ukazatel“ je proměnná, která drží umístění paměti jiné proměnné. Operátory použité proměnnou ukazatele jsou * a ->. Deklarace proměnné ukazatele obsahuje základní datový typ následovaný znakem „*“ a názvem proměnné.

napište * var_name;

Pojďme pochopit ukazatel pomocí příkladu.

int a = 4; int * ptr = & a; cout <vzhledem k tomu, že referenční operátor je &.

  • Proměnná ukazatele, pokud nenese adresu žádné proměnné, ukazuje na null. Na druhou stranu referenční proměnná nemůže nikdy odkazovat na Null.
  • Vždy můžete vytvořit proměnnou ukazatele unitialized, ale vytvoříme odkaz, když potřebujeme alias nějaké proměnné, takže nikdy nemůžete vytvořit odkaz na unitialize.
  • Můžete inicializovat ukazatel, ale jakmile inicializujete arefernce, nemůžete jej znovu inicializovat.
  • Můžete vytvořit prázdný ukazatel a inicializovat jej kdykoli, ale musíte inicializovat chlazení pouze tehdy, když vytvoříte refernce.
  • Poznámka:


    Java nepodporuje ukazatele.

    Závěr

    Ukazatel i odkaz se používají k označení jiné referenční proměnné. Ale oba se liší v jejich použití a implementaci.