Wskaźnik
Wskaźnik to specjalny rodzaj zmiennej. Przechowuje adres innej zmiennej. Oznacza to, gdy jakakolwiek zmienna magazynuje się w pamięci, otrzymuje określony adres. Wskaźnik przechowuje ten adres tej konkretnej zmiennej.
Przykład programowania 1
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int x = 15;
int *p; // deklarowanie wskaźnika
p = & x;
Cout<< &x << endl ; // address of x ;
Cout<< p << endl ; // pointing the address of x ;
Cout<< *p << endl ; // Dereferencing of a pointer;
powrót 0;
Wyjście
Wyjaśnienie
Tutaj deklarujemy zmienną całkowitą x i wewnętrzną x przypisujemy 15. Teraz zadeklarowaliśmy zmienną wskaźnika typu liczb całkowitych *P.
p = & x;
Tutaj, wewnątrz zmiennej wskaźnika p, przypisujemy adres x. Adres x jest całkowicie zależy od naszego systemu operacyjnego.
Jeśli drukujemy i x, pokazuje wyjście adresu zmiennej x.
Jeśli wydrukujemy zmienną P, otrzymuje również wyjście adresu zmiennej x.
Ale jeśli wydrukujemy *p, faktycznie to dereferencje do naszego wskaźnika. Oznacza to, że otrzymuje wyjście wartości zmiennej x.
Przykład programowania 2
#włączać
za pomocą przestrzeni nazw Std;
int main ()
float x = 15;
float *p; // deklarowanie wskaźnika
p = & x;
Cout<< &x << endl ; // address of x ;
Cout<< p << endl ; // pointing the address of x ;
Cout<< *p << endl ; // Dereferencing of a pointer;
powrót 0;
Wyjście
Wyjaśnienie
Jeśli weźmiemy zmienną typu zmiennoprzecinkowego x i przypisujemy pewną wartość 1.5, następnie deklarujemy wskaźnik do utrzymania adresu x, musimy wziąć wskaźnik pływaka.
Każdy wskaźnik zawiera adres zmiennej; Oba mają ten sam typ danych. W przeciwnym razie występuje błąd.
Wskaźnik arytmetyki
W C ++ za pomocą wskaźnika wykonaliśmy niektóre operacje arytmetyczne, takie jak przyrost, zmniejszenie, dodanie i odejmowanie.
Przykład programowania 3
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int x = 15;
int *p = & x;
Cout<< p << endl ; // address of x ;
P ++; // Przyrost poinera
Cout<< p << endl ;
powrót 0;
Wyjście
Wskaźnik i tablica
Tablica zawsze bierze pamięć w sposób przylegający. Możemy wdrożyć tablicę za pomocą wskaźnika. Ponieważ po zwiększeniu wskaźnika zawsze wskazuje na następny blok od podstawowego adresu tablicy. Zarówno wskaźnik, jak i tablica mają ten sam typ danych.
Przykład programowania 4
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int i;
int arr [] = 5, 10, 15; // deklarowanie tablicy;
int *p = arr; // inicjowanie wartości tablicy do wskaźnika;
Cout<< *arr << endl ;
dla (i = 0; i < 3 ; i++)
Cout<< *p << endl ;
powrót 0;
Wyjście
Wyjaśnienie
Możemy uzyskać dostęp do tablicy do wskaźnika. W tym przykładzie po prostu deklarujemy tablicę i zainicjowaliśmy niektóre wartości. Podstawowy adres tablicy do wskaźnika P. Teraz możemy wydrukować wartość każdego elementu tablicy przez wskaźnik. Jeśli zwiększymy wartość PTR, po prostu przechodzi on do następnego bloku z podstawowego adresu tablicy.
Odniesienie
Z wyjątkiem normalnej zmiennej i wskaźnika, C ++ zapewnia nam specjalny typ zmiennej o nazwie zmienna odniesienia. Teraz dowiadujemy się o zmiennej referencyjnej.
Funkcje zmiennej odniesienia
Przykład zmiennej odniesienia
int x = 5;
Jeśli chcemy zachować alternatywną nazwę zmiennej x, musimy postępować zgodnie z tą procedurą.
int & y = a;
Oznacza to, że zmienna odniesienia jest tworzona tylko w celu odniesienia istniejącej zmiennej w programie. Za pomocą zmiennej referencyjnej uzyskujemy dostęp do zmiennej x.
Przykład programowania 5
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int x = 15;
int & y = x;
Cout<< x << “ “ << y << endl ;
++y;
Cout<< x << “ “ << y << endl ;
powrót 0;
Wyjście
Wyjaśnienie
Tutaj wprowadzamy zmienną referencyjną y, która odnosi się do zmiennej x przez linię i y = x. W x, 5 jest przypisywane. Jeśli chcemy wydrukować zmienną x i y, oba pokazują ten sam wynik 5.
Jeśli zwiększymy 1 do wartości y i wydrukujemy zarówno zmienną x, jak i y, pokazuje to ten sam wynik 6.
Wniosek
Omawiając szczegółowe informacje na temat pojęcia zarówno wskaźnika, jak i odniesienia, doszliśmy do wniosku, że adres jest najpotężniejszą koncepcją w C++. Za pomocą wskaźnika i odniesienia możemy monitorować zmienne, tablicę, funkcję, strukturę itp. łatwo.