Razlika med kazalcem in referenco
Avtor:
Laura McKinney
Datum Ustvarjanja:
1 April 2021
Datum Posodobitve:
17 Maj 2024
Vsebina
"Kazalec" in "referenca" se uporabljata za usmerjanje ali sklicevanje na drugo spremenljivko. Toda osnovna razlika med obema je v tem, da spremenljivka kazalca kaže na spremenljivko, katere pomnilniško mesto je shranjeno v njej. Referenčna spremenljivka je vzdevek spremenljivki, ki ji je dodeljena. Spodnja primerjalna tabela raziskuje druge razlike med kazalcem in referenco.
- Primerjalna tabela
- Opredelitev
- Ključne razlike
- Zaključek
Primerjalna tabela
Osnove za primerjavo | Kazalec | Referenca |
---|---|---|
Osnovni | Kazalnik je spominski naslov spremenljivke. | Sklic je vzdevek spremenljivke. |
Vrne | Kazalna spremenljivka vrne vrednost, ki se nahaja na naslovu, shranjenem v spremenljivki kazalca, pred katerim je znak kazalca *. | Referenčna spremenljivka vrne naslov spremenljivke pred referenčnim znakom &. |
Operaterji | *, -> | & |
Ničelna referenca | Spremenljivka kazalca se lahko nanaša na NULL. | Referenčna spremenljivka se nikoli ne more sklicevati na NULL. |
Inicializacija | Lahko se ustvari neinicializiran kazalec. | Neinicializirane reference ni mogoče nikoli ustvariti. |
Čas inicializacije | Spremenljivko kazalca je mogoče inicializirati kadar koli v programu. | Referenčno spremenljivko je mogoče inicializirati šele ob njenem ustvarjanju. |
Reinicijalizacija | Spremenljivko kazalca je mogoče ponovno inicializirati tolikokrat, kot je potrebno. | Referenčne spremenljivke ni več mogoče znova inicializirati v programu. |
Opredelitev kazalca
"Kazalec" je spremenljivka, ki vsebuje pomnilniško mesto druge spremenljivke. Operaterji, ki jih uporablja spremenljivka kazalca, sta * in ->. Izjava spremenljivke kazalca vsebuje osnovni tip podatkov, ki mu sledi znak '*' in ime spremenljivke.
tip * var_name;
Razumejmo kazalec s pomočjo primera.
int a = 4; int * ptr = & a; cout <ker je referenčni operater &.
Opomba:
Java ne podpira kazalcev.
Zaključek
Kazalec in referenca se uporabljata za usmerjanje ali napotitev druge spremenljivke. A obe se razlikujeta glede uporabe in izvajanja.