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,
- Wskaźniki
- Wskaźniki i tablice
- Puste wskaźniki
- Void Pointers
- Operacja arytmetyczna wskaźnika
- Wskaźnik do wskaźnika
- Wskaźnik do funkcji
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:
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.