Jak zaimplementować wskaźniki w C ++?



Ten artykuł wprowadzi Cię w koncepcję wskaźników w C ++, a następnie wprowadzi do niej pomocniczą praktyczną demonstrację.

Wskaźniki w C ++ jest zmienną, która przechowuje adres innej zmiennej w języku c ++. Adres jest przechowywany w zmiennej wskaźnikowej i pomaga w implementacji wywołania przez referencję.

Poniższe wskazówki zostaną omówione w tym artykule,





Zaczynając od tego artykułu o wskaźnikach w C ++

Składnia:



typ danych * pointername PRZYKŁAD: int * ptr
  • Zmienna wskaźnikowa ma znak * przed nazwą.
  • Wskaźnik jest również nazywany lokalizatorem lub wskaźnikiem.

Zastosowania wskaźnika:

  • Dynamiczne przydzielanie pamięci
  • W różnych programach tablic, struktur i funkcji

Oto przykładowy kod:

#include using namespace std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Wynik:
Wyjście - wskaźniki w C ++ - Edureka



Wyjaśnienie:

W powyższym programie pokazujemy podstawowe działanie wskaźnika. Mamy zmienną całkowitą num o wartości 17. Mamy zmienną wskaźnikową ptr typu int. Przypisujemy adres num do wskaźnika ptr.

Najpierw wypisujemy wartość ptr, czyli adres. Następnie drukujemy wartość num, a na końcu drukujemy wartość w miejscu trzymanym przez wskaźnik ptr.

abstrakcja danych w C ++

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Wskaźniki i tablice:

Pierwszy element tablicy możemy traktować jako wskaźnik, ponieważ nazwa tablicy zawiera adres pierwszego elementu. Możemy użyć wskaźnika w następujący sposób.

Oto przykładowy kod:

#include using namespace std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Wynik: 

Wyjaśnienie:

W powyższym programie pokazujemy podstawowe działanie wskaźnika z tablicą. Mamy tablicę arr o wartościach 5,10,20. Mamy zmienną wskaźnikową ptr typu int. Przypisujemy adres arr do wskaźnika ptr.

Najpierw wypisujemy wartość ptr [0], czyli pierwszy element tablicy. Następnie drukujemy odpowiednio drugi i trzeci element. Ponieważ elementy tablicy są przechowywane kolejno, wskaźnik może uzyskać dostęp do innej lokalizacji tablicy poprzez inkrementację.

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Puste wskaźniki:

Istnieją typy wskaźników, które nie mają wartości i przechowują wartość null

jak obsługiwać wyskakujące okienka w webdriverze selenu

Przykład :

int * ptr = NULL

Są bardzo przydatne w strukturach danych, takich jak lista połączona.

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Wskaźniki pustki:

Są to typy wskaźników, które nie mają typu zwracanego.

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Operacja arytmetyczna wskaźnika:

Na wskaźnikach można wykonywać różne operacje. Oto kilka ważnych typów.

  • zwiększony (++)
  • dekrementowany (-)
  • różnica między dwoma wskaźnikami (p1-p2)
  • dodanie liczby całkowitej do wskaźnika (+ lub + =)
  • odejmowanie liczby całkowitej od wskaźnika (- lub - =)

Oto kod pokazujący niektóre z tych operacji:

#include using namespace std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Wynik:

Wyjaśnienie:

Pokazujemy prostą arytmetyczną operację inkrementacji zmiennej wskaźnikowej pokazaną w powyższym programie.

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Wskaźnik do wskaźnika:

W tego typu systemie istnieją dwie wskazówki. Pierwszy wskaźnik wskazuje na drugi wskaźnik, a drugi wskaźnik wskazuje na zmienną przechowującą wartość.

Oto przykładowy kod:

#include using namespace std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Wynik:

różnica między interfejsem a klasą

Przechodząc do tego artykułu o wskaźnikach w języku C ++

Wskaźnik do funkcji:

Jest to sposób przekazywania wskaźników do funkcji. Parametr funkcji musi być zadeklarowany jako typ wskaźnika. Pokazuje to poniższy kod,

#include using namespace std float getA Average (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getA Average (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Wynik

W ten sposób przekazujemy wskaźnik do funkcji.

W ten sposób dotarliśmy do końca artykułu „Wskaźniki w C ++”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. jest przeznaczony do szkolenia zarówno w zakresie podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą tak szybko, jak to możliwe.