Jak działa wskaźnik do wskaźnika w c

Jak działa wskaźnik do wskaźnika w c
Wskaźniki są kluczową częścią programowania C, która ułatwia manipulowanie danymi i pamięci w bardziej widoczny sposób. Jednak sprawa może pojawić się, gdy trzeba manipulować samym wskaźnikiem i tam właśnie tam wskaźnik do wskaźnika wejdzie do firmy.

W tym artykule omówiono działanie wskaźnika do wskaźnika w języku programowania C.

Przed udaniem się w kierunku sposobu wskaźnik do wskaźnika Działa, najpierw omówmy, co jest wskaźnik do wskaźnika.

Jaki jest wskaźnik do wskaźnika

Wskaźnik to zmienna używana do przechowywania innego adresu pamięci zmiennej. Podczas wskaźnik do wskaźnika, określane również jako podwójny wskaźnik jest wskaźnikiem używanym do przechowywania adresu pamięci innego wskaźnika.

Ogólna składnia do użycia wskaźnika do wskaźnika w C

Poniżej znajduje się składnia do użycia wskaźnik do wskaźnika w programowaniu C.

data_type ** nazwa_zmienna

wskaźnik do wskaźnika Zmienną należy zdefiniować, dodając dwie gwiazdki do swojej nazwy. Na przykład następująca deklaracja deklaruje wskaźnik wskaźnika danych danych INT.

int ** var;

Jak działa wskaźnik do wskaźnika w c

A wskaźnik do wskaźnika działa podobnie do zwykłego wskaźnika, z tym wyjątkiem, że modyfikuje faktyczną wartość związaną z wskaźnikiem, na który wskazuje. Innymi słowy, adres pamięci utrzymywany w zwykłym wskaźniku może zostać zmieniony. Rozważmy prosty przykład:

int n = 10;
int *pptr1 = & n;
int ** pptr2 = &pptr1;

W powyższym kodzie mamy zmienną intensywną, która przechowuje wartość całkowitą. Mamy również nazwane wskaźnik „PPTR1” który przechowuje adres pamięci zmiennej N. Potem „PPTR2” jest używany, który przechowuje adres pamięci wskaźnika PPTR1.

Teraz, jeśli chcesz uzyskać dostęp do wartości N, wystarczy dwukrotnie dereferencja wskaźnika. W pierwszym deereference otrzymasz adres pamięci „PPTR1”, Będąc w drugim, otrzymasz wartość N. Teraz możesz uzyskać wartość za pomocą „Printf ()” funkcjonować.

Oto kompletny kod do użycia wskaźnika do wskaźnika w programowaniu C.

#włączać
int main ()
int n = 10;
int *pptr1 = & n;
int ** pptr2 = &pptr1;
printf („Wartość n przy użyciu pptr2: %d \ n”, ** pptr2);
powrót 0;

Wyjście

Możemy również przydzielić pamięć dla zmiennej wskaźnika w osobnej funkcji, a następnie zastosować ten wskaźnik w funkcji wywołania. Dany przykład pokazuje, jak to zrobić.

#włączać
#włączać
#włączać
void Memory_Allocation (char ** my_ptr)

* my_ptr = (char *) malloc (10 * sizeof (char));

int main ()

char *w;
Memory_Allocation (& w);
strcpy (w, „Linuxhint”);
printf („%s \ n”, w);
darmowe (w);
powrót 0;

W powyższym programie, „Memory_allocation” funkcja przydzielona pamięć do ptr_1. ptr_1 Działa jak podwójny wskaźnik i przechowywał ciąg o nazwie „Linuxhint” który jest wydrukowany na ekranie.

Wyjście

Wniosek

wskaźnik do wskaźnika jest użyteczną koncepcją w języku programowania C, która pozwala pośrednio uzyskać dostęp do wartości zmiennej za pośrednictwem wielu warstw wskaźników. Z pomocą wskaźnik do wskaźnika, możesz sam w sobie manipulować wskaźnikiem. Wyżej wymienione wytyczne pomagają korzystać wskaźnik do wskaźnika w programowaniu C, ponieważ zawiera także kilka podstawowych przykładów, które pomagają zrozumieć podstawową koncepcję za sobą wskaźnik do wskaźnika.