Wskazówki do wskazówek

Wskazówki do wskazówek

W języku programowania C ++ wskaźnik wydaje się być zmienną, która może zapisać lub utrzymywać adres innej zmiennej i być wykorzystywany w odniesieniu do dowolnego innego dodatkowego wskaźnika. Dwa różne zastosowania wskazówek to zapisywanie pamięci i przyspieszenie prędkości procesora.

Rodzaje wskaźników w C++

Kilka rodzajów wskaźników w języku programowania C ++ jest udostępnianych i wyjaśnionych poniżej:

Wskaźnik zerowy

Wskaźnik zerowy może zostać utworzony lub wykonany, jeśli zapewniamy wartość „zerową”, jednocześnie deklarując wskaźnik. Ta metoda okazuje się przydatna, jeśli wskaźnik nie przypisał żadnych wartości. Wewnątrz wskaźnika zerowego 0 jest zawsze obecny jako wartość wskaźnika. Spójrzmy na ilustrację użycia wskaźnika zerowego w kodzie.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int *i = null;
Cout << "The value of variable i: " << i;
powrót 0;

Na początku kodu plik nagłówka zostanie zintegrowany. Następnie zastosowano standardową przestrzeń nazw „STD”. Następnie zostanie wykonana metoda main (). Tutaj wskaźnik zmiennej „ja” zostanie ogłoszony. Wartość tego wskaźnika zostałaby przypisana jako „null”. Następnie komenda „cout” zostanie wykorzystana do pokazania wyniku. Aby rozwiązać program, zastosujemy oświadczenie zwrotu 0.

Wskaźnik pustki

Nie ma standardowego typu danych dla wskaźnika pustki. Ten rodzaj wskaźnika jest zwykle tworzony przy użyciu terminu „pustka”. Jednym z głównych zastosowań tego wskaźnika jest przechowywanie lub utrzymanie adresu innej zmiennej.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

void *z = null;
Cout << "The size of z: " << sizeof(z);
powrót 0;

Plik nagłówka zostanie zintegrowany na początku programu. Ponadto wykorzystamy domyślną przestrzeń nazw jako „STD”. Metoda main () jest wywoływana. Wskaźnik zmiennej „Z” zostanie zadeklarowany w następnym kroku. Przypisano nam wartość „null” dla tego wskaźnika. Polecenie „cout” wyświetliby rozmiar wymaganego wskaźnika. Funkcja sizeof () byłaby wykorzystywana do określenia rozmiaru wskaźnika. Korzystając z instrukcji zwrotu 0, możemy zakończyć program.

Wskaźnik do wskaźnika

Omówiliśmy już, że w C ++ wskaźnik jest wykorzystywany do przechowywania adresu zmiennej. Wskaźnik przyspiesza dostęp do zmiennej. Aby utrzymać adres innego wskaźnika, wskaźnik może być również zdefiniowany w C++. W funkcji wskaźnika do wskaźnika adres zmienny jest przechowywany w pierwszym wskaźniku. Z drugiej strony pierwszy adres wskaźnika jest zwykle przechowywany w drugim lub innym wskaźniku.

Składnia

Przykład 1

Teraz zobaczymy wykorzystanie wskaźnika do wskaźnika w C++.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int x = 16;
int *m;
int ** mm;
m = & x;
mm = & m;
Cout << "The address of the variable x: " << m <Cout << "The address of the variable m: " << mm <Cout << "The value stored in the variable m: " << *m <Cout << "The value stored in the variable mm: " << **mm <

Program zostanie uruchomiony przez zintegrowanie pliku nagłówka . Ta biblioteka zostanie zastosowana do wykonywania różnych funkcji wejściowych i wyjściowych. Najpierw zainicjujemy zmienną „x” i przypisujemy jej wartość. Wskaźnik, który zapisuje adres zmiennej „x”, zostanie zadeklarowany w następnym kroku. Następnie stworzymy kolejny wskaźnik. Tutaj wskazalibyśmy pierwszy wskaźnik adresu „x”. Wartość pierwszego wskaźnika „M” byłaby miejscem, w którym wskazywałby podwójny punkt. Nazwalibyśmy czterokrotnie oświadczenie „cout”. Pierwsze dwa polecenia „cout” wydrukują adres określonej zmiennej i wskaźnika.

Przykład nr 2

Spójrzmy na ilustrację wskaźnika, który odwołuje się do innego wskaźnika według adresu.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int v [12] = 102, 212, 870, 169, 581, 721;
int *d [] = v, v+1, v+2, v+3, v+4, v+5;
int ** dd = d;
dd ++;
Cout << dd-d,*dd - v,**dd;
*dd ++;
Cout << dd-d,*dd - v,**dd;
++*dd;
Cout << dd-d,*dd - v,**dd;
++** DD;
Cout << dd-d,*dd - v,**dd;

Biblioteka zostanie włączona na początku kodu. Ten moduł zawiera metody wejściowe i wyjściowe. Teraz rozpoczęlibyśmy kodowanie wewnątrz korpusu funkcji Main (). Tutaj najpierw stworzyliśmy tablicę. Ta tablica zawiera sześć wartości. Wartości te są przechowywane w zmiennej „V”.

Następnie deklarujemy tablicę wskaźnika o nazwie „D”. W następnym etapie zadeklarujemy podwójny wskaźnik. Wtedy moglibyśmy zwiększyć wartość wskaźnika. Podwójny wskaźnik jest stosowany z arytmetyką wskaźnika. Jest skonstruowany jako zdefiniowana jest tablica 6-elementowa z szeregiem wskaźników (d). Wskaźniki odnoszące się do każdego członka tablicy tworzą elementy „D”. Ponieważ podstawowy adres tablicy jest zawarty w nazwie tablicy, będzie działał jako wskaźnik, a jego wartość można uzyskać za pomocą *(v), *(v+1), *(v+2), *(v v) +3), *(v+4), *(v+5). Ostatecznie zastosowalibyśmy polecenie „Cout”, aby wyświetlić wyjścia.

Zalety wykorzystania wskazówek do wskaźników w C++

  • Dostęp do lokalizacji pamięci jest łatwiejszy dzięki wskaźnikom.
  • Komponenty struktury tablicy można skutecznie uzyskać dostęp za pośrednictwem wskazówek.
  • Zarówno dealokokacja, jak i dynamiczna alokacja pamięci wymagają wskaźników.
  • Złożone struktury danych, takie jak listy połączone, wykresy, drzewa itp., są tworzone za pomocą wskazówek.

Wady używania wskaźników do wskaźników w C++

  • Zrozumienie wskaźników może być trudne.
  • Wskaźniki mogą powodować kilka problemów, w tym usterki segmentacji i nieautoryzowany dostęp do pamięci.
  • Uszkodzenie pamięci może wynikać z podania wskaźnika niedokładnej wartości.
  • Wycieki pamięci mogą również wystąpić przez wskaźniki.
  • Wskaźniki będą inicjować wolniej niż zmienne.
  • Ponieważ manipulowanie wskaźnikami może być niezwykle trudne dla programistów, są oni zobowiązani do mądrego.

Wniosek

W tym artykule omówiliśmy wskaźniki używane w języku programowania C ++, jego zalety, wady, składnię i aplikacje. Ponadto omówiliśmy wskaźnik do wskaźnika w języku C ++. Ponadto wykonaliśmy różne programy, aby pokazać, w jaki sposób i kiedy używać wskazówek do wskazówek w C++. Widzimy również, jak używać wskaźnika pustki i zerowej w C ++, wdrażając kody.