Logo pl.removalsclassifieds.com

Różnica między wskaźnikiem a odniesieniem (z tabelą)

Spisu treści:

Anonim

C i C++ to najczęściej używane języki programowania, ponieważ są to podstawowe drzwi dla początkujących do świata programowania. Wskaźniki i referencje to jedne z najbardziej przydatnych udogodnień, jakie zapewniają te języki. Wskaźniki są używane w C i C++, a referencje są obsługiwane w C++, Pythonie i innych językach.

Wskaźnik a odniesienie

Różnica między wskaźnikiem a odwołaniem polega na tym, że wskaźnik przechowuje w nim adres innej zmiennej, podczas gdy odwołanie odwołuje się do istniejącej zmiennej o innej nazwie. Wskaźniki przechowują adres dowolnej innej zmiennej w swojej pamięci, ale referencje są używane jako alternatywna tożsamość.

Wskaźnik to ta zmienna, której wartością jest adres lub lokalizacja innej zmiennej. Można je zainicjować w dowolnym miejscu programu za pomocą operatorów takich jak „*” i „->”. Zmienna wskaźnikowa może również mieć wartość null i obsługuje również ponowną inicjalizację. Wskaźniki są deklarowane przez podstawowy typ danych, po którym następuje gwiazdka i nazwa wskaźnika.

Odwołanie to ta zmienna, która ma inną nazwę dla już subtelnej zmiennej programu. Natychmiast po utworzeniu zmiennej referencyjnej należy ją zainicjować. Tworzy alias innej zmiennej. Operator & jest używany do odniesień projektowych. Tworzą je bazowy typ danych, po którym następuje „&” i nazwa zmiennej.

Tabela porównawcza między wskaźnikiem a odniesieniem

Parametry porównania

Wskaźnik

Odniesienie

Definicja Zmienna przechowująca adres pamięci innej zmiennej nazywana jest zmienną wskaźnikową. Referencja to alias do innej zmiennej, referencja do niej.
Odwołanie zerowe Do wskaźnika można przypisać wartość pustą. Zmienna referencyjna nie ma przypisania wartości null.
Składnia Typ danych *Nazwa wskaźnika; Gdzie Datatype to podstawowy typ danych, a PointerName to nazwa zadeklarowanego wskaźnika. Typ danych &ReferenceName = Inna zmienna; Gdzie ReferenceName to nazwa odwołania, a AnotherVariable to zmienna, do której się odwołujemy.
Inicjalizacja Możliwe jest tworzenie niezainicjowanych wskaźników. Referencje nigdy nie mogą być tworzone w niezainicjowanej
Ponowna inicjalizacja Zmienne wskaźnikowe mogą być inicjowane wielokrotnie w programie w zależności od potrzeb. Zmienną referencyjną można zainicjować tylko raz w programie.

Co to jest wskaźnik?

W skrócie, wskaźnik to ta zmienna, która przechowuje lokalizację pamięci lub adres dowolnej innej zmiennej w programie. Wskaźniki działają w C i C++. Zmienna wskaźnikowa przechowuje adres lokalizacji zmiennej wskazującej. Zmienne wskaźnikowe można zadeklarować, a następnie zainicjalizować zmienną, której adres ma zostać określony.

int *zmienna wskaźnikowa;

Po deklaracji wskaźnika, zmienna wskaźnikowa jest przypisywana do zmiennej, której adres ma być określony. Powyższa instrukcja deklaracji korzysta ze wskaźnika, który będzie przechowywać wartość zmiennej całkowitej.

zmienna wskaźnikowa = &a;

Tutaj a jest zmienną całkowitą używaną po drugiej stronie programu, której adres jest przechowywany we wskaźniku zmiennej. Wskaźniki dają również odpowiedzialność za ponowną inicjalizację. Ich wartości można zmieniać w zależności od potrzeb.

Co to jest odniesienie?

Zmienna referencyjna jest aliasem innej zmiennej. Innymi słowy, zmienna, która odnosi się do innej zmiennej podstawowej programu, jest uważana za zmienną referencyjną.

Mają ograniczenie, że nie mogą być przypisane do wartości null i nie mogą być deklarowane, są tylko inicjowane. Po utworzeniu referencji do zmiennej można uzyskać dostęp poprzez nazwę referencji lub jej oryginalną nazwę. Referencje są inicjowane bezpośrednio. Przykład,

int &ref = var;

W tym przypadku ref jest nazwą zmiennej referencyjnej i wskazuje na zmienną var, która jest inicjowana w innej części programu. Kiedy wartości ref i var są drukowane, ref i var mają tę samą wartość. Wskaźniki są korzystne w oszczędzaniu pamięci, ponieważ gdy są przekazywane jako argumenty do funkcji, używają oryginalnej lokalizacji pamięci dla każdego wywołania funkcji.

Zmienne referencyjne nie zapewniają ponownej inicjalizacji, są one tylko raz zainicjowane i niepowtarzalne. Odwołania nie wskazują na zmienną, przechowując jej adres w oddzielnej lokalizacji pamięci. W prostych słowach zmienna referencyjna to alternatywna nazwa już istniejącej zmiennej. Są to po prostu aliasy w drugiej nazwie zmiennej, do której ma się odwoływać.

Główne różnice między wskaźnikiem a odniesieniem

Wniosek

Wskaźniki i referencje to obszerne koncepcje o różnych zastosowaniach, głównie w C i C++. Jednak oba mają być używane z odpowiednimi potrzebami i wymaganiami przed wdrożeniem. Zmienne referencyjne nie wymagają ponownej inicjalizacji ani ponownego przypisania i oszczędzają miejsce, ponieważ tworzą nadmiarowe wiele lokalnych kopii typów danych, gdy są przekazywane jako argumenty do funkcji. Wskaźniki są również niezbędne, ponieważ mają możliwość przechowywania w nich wartości null.

Odwołanie musi zawsze odnosić się do czegoś i musi być koniecznie zainicjalizowane i nie można go zmienić. Wskaźniki mają wielokrotnego użytku. Daje im to możliwość ponownej inicjalizacji, w której brakuje odniesień.

Bibliografia

Różnica między wskaźnikiem a odniesieniem (z tabelą)