Jak odważyć wskaźnik c++?

Jak odważyć wskaźnik c++?
Dereferencje to technika uzyskiwania danych z adresu pamięci wskazanego przez wskaźnik zmienialny i manipulowanie. Zmieniony, który utrzymuje adres niektórych innych zmiennych, jest znany jako wskaźnik. Znak (*) zostanie użyty jako operator dereferencji. Dereferencja wskaźnika występuje, gdy operator (*) jest odrzucany w wskaźnikach wskaźnika. Ilekroć wskaźnik jest dereferencyjny, wartość zmiennego reprezentowanego przez wskaźnik jest powracana. Dlatego będziemy omawiać koncepcję dereferencji wskaźnika w C ++, wykorzystując Ubuntu 20.04 System. Zacznijmy od utworzenia pliku w Ubuntu za pomocą polecenia terminali „dotyk”. Plik zostanie utworzony w katalogu głównym komputera „Home” twojego komputera. Można go otworzyć w dowolnym z redaktorów w swoim systemie. Wolimy edytor „Nano”, aby otworzyć pusty plik w konsoli terminalowej.
$ Touch Dereference.CC
$ nano dereference.CC

Przykład 01:

Musimy zacząć od włączenia biblioteki „iostream” do użycia strumienia wejściowego w C w C++. Słowo kluczowe #Include jest do tego wykorzystywane. Następnie przyszedł standardowy przestrzeń nazw „STD”, aby pozwolić nam użyć standardowych instrukcji Cout i CIN. Cała praca została wykonana w metodzie Main (). Zainicjowaliśmy zmienną całkowitą „N” z wartością 1. Wskaźnik typu liczb całkowitych „P” jest używany w celu odniesienia do adresu zmiennej „N” za pośrednictwem operatora „&”. Pierwsza instrukcja Cout jest używana do wyświetlania wartości zmiennej „N” na skorcie za pomocą wskaźnika „P.„Następna instrukcja Cout jest wykorzystywana do pokazania wartości zmiennej„ N ”na powłoce.

#włączać
za pomocą przestrzeni nazw Std;
int main ();
int n = 1;
int* p = & n;
Cout<<"Address of n: "<Cout<<"Value of n: "<<*p<

Musisz skompilować nowy kod z nowo zainstalowanym kompilatorem G ++ Ubuntu dla języka C ++. Na razie nie rozpoznano żadnych błędów. Następnie wykonaliśmy kod za pomocą „./A.OUT „polecenie” i dostałem adres i wartość zmiennej „n” za pomocą wskaźnika dereference.

$ g ++ dereference.CC
$ ./A.na zewnątrz

Przykład 02:

Miejmy inny przykład nieco inny niż powyższy przykład. Tak więc przykład został uruchomiony z tym samym nagłówkiem biblioteki strumieniowego wejścia i standardowego przestrzeni nazw „STD” z słowem kluczowym „Używanie”. Teraz funkcja main () rozpoczyna się od deklaracji i inicjalizacji zmiennej łańcuchowej „v” z wartością ciągów „Linux.„Po tym zadeklarowaliśmy wskaźnik typu stringowego do wykonania dereferencji i powiązania go z zmienną„ V ”za pośrednictwem operatora„ & ”. Dereferencje jest tutaj wykorzystywane do pobrania wartości ze zmiennej przez wskaźnik. Jedyną zmianą jest wartość zmiennej, i.mi., ciąg zamiast liczby całkowitej. Pierwsza klauzula Cout służy do wyświetlania adresu zmiennej „V”, a druga instrukcja Cout jest wykorzystywana do wyświetlania wartości zmiennej „v.„Zapiszmy skrypt i wykonajmy nasz kod.

#włączać
za pomocą przestrzeni nazw Std;
int main ();
String v = "Linux";
ciąg *p = & v;
Cout<<"Address of v: "<Cout<<"Value of v: "<<*p<

Kod został skompilowany. Następnie wykonaliśmy prosty kod i otrzymaliśmy adres i wartość zmiennej „v” po użyciu metody dereferencji za pomocą wskaźnika.

$ g ++ dereference.CC
$ ./A.na zewnątrz

Przykład 03:

Zróbmy nasz ostatni, ale nie najmniejszy kod za rozpoczęcie od nagłówka biblioteki, ja.mi., iostream i standardowa przestrzeń nazw „STD”. Zadeklarowaliśmy dwie zmienne całkowitowe w funkcji Main (), V1 i V2. Podczas gdy V1 jest inicjowany z wartością „5”. Pierwsze dwa instrukcje Cout wyświetlają bieżące wartości V1 i V2 na powładzie, a trzeci wyświetla adres wskaźnika „P”. Następne oświadczenie Cout mówi nam, że teraz wykonamy dereferencje. Tak więc użyliśmy instrukcji „p = & v1”, aby przypisać adres zmiennej v1 do wskaźnika p. To się nazywa dereferencja. Wskaźnik „P” służy do wyświetlania adresu i wartości zmiennej V1 na powładzie za pośrednictwem klauzul COUT. Teraz przypisujemy wartość wskaźnika „P” (czyli v1) do zmiennej v2. Instrukcja Cout wyświetli wartość V2, a wskaźnik „P” jest przypisany nową wartością 10. Ostatnie 4 instrukcje pokazują nowe lub bieżące wartości v1, v2 i wskaźnika „p."

#włączać
za pomocą przestrzeni nazw Std;
int main ();
int v1 = 5, v2;
Cout<<"Value of v1: "<Cout<<"Value of v2: "<int *p;
Cout<<"Value of pointer p: "<Cout<<"************* After using p=&v1 ************** "<p =&v1;
Cout<<"Address of v1: "<Cout<<"Value of v1: "<<*p<v2 =*p;
Cout<<"************* After using v2=*p ************** "<Cout<<"Address of v2: "<*p = 10;
Cout<<"************* After using *p=10 ************** "<Cout<<"Address of p: "<Cout<<"Value of p: "<<*p<Cout<<"Value of v1: "<Cout<<"Value of v2: "<

Wartości początkowe V1 i V2 zostały wyświetlone wraz z adresem wskaźnika. Po „p = & v1” adres „p” jest zastąpiony adresem v1. Po „v2 =*p” wartość odniesienia „p” jest przypisywana do v2. Za pomocą „*p = 10” wartość wskaźnika „p” staje się 10, a ze względu na dereferencje v1 również staje się 10. Podczas gdy V2 i adres wskaźnika są takie same.

$ g ++ dereference.CC
$ ./A.na zewnątrz

Wniosek:

Tak więc chodziło o to, jak wyrównać wskaźnik w C++. Wykorzystaliśmy tę koncepcję do pobrania wartości zmiennej i zmiany lub aktualizacji wartości. Mamy nadzieję, że z powodzeniem zapewniamy Ci proste i łatwe do zrozumienia treści.