Wszystko, co musisz wiedzieć o wskaźnikach w C.



Ten artykuł wprowadzi Cię w temat uważany za trudny do nauczenia, odnosimy się do tematu wskaźników w języku C.

Podczas nauki języka C mogłeś natknąć się na termin „wskaźniki” i często słyszałeś, że jest to pojęcie trudne do zrozumienia. Wskaźniki są pomocne w różnych zadaniach programistycznych i nie jest to trudne do zrozumienia. Ten artykuł wprowadzi Cię we wskaźniki w C i powie, dlaczego nie są one tak trudne do nauczenia się, jak się wydają.

Poniżej znajdują się wskazówki omówione w tym artykule:





  1. Co to jest wskaźnik?
  2. Operatory odniesienia i odwzorowania
  3. Rodzaje wskaźników
  4. Jak używać wskaźnika

Zacznijmy od pierwszego fragmentu tego wskaźnika w artykule C,

sort () c ++

Wskaźniki w C.

Co to jest wskaźnik?

Wskaźnik to zmienna, która może przechowywać adres zmiennej. Możesz teraz zapytać, jaki jest pożytek z tego? Zasadniczo wskaźnik wskazuje miejsce w pamięci zmiennej, której adres jest podany. Ta właściwość pomaga w dynamicznej alokacji pamięci, która jest ważnym aspektem programowania.



Zrozummy, że to składnia i spójrzmy na przykład

Data_Type * pointer_name

Przykład: int * ptr

Poniżej znajduje się następny fragment tego artykułu Wskaźniki w C.



Operatory odniesienia i odwzorowania

Zanim zagłębimy się w koncepcję wskaźnika, zapoznajmy się z podstawami, które pomogą nam później. Używając wskaźników, na pewno będziesz używać operatorów „&” i „*”. Nadszedł czas, aby zrozumieć ich znaczenie i zastosowanie.

Najpierw przyjrzyjmy się operatorowi odniesienia często nazywanemu operatorem „Adres”. Użycie operatora (ampersand) ze zmienną zwraca nam miejsce w pamięci, znane również jako adres danej zmiennej.

Przykład

int * ptr int a ptr = & a

Adres zmiennej „a” jest przechowywany w zmiennej ptr.

Przyjrzyjmy się teraz operatorowi Odwołanie lub „Wartość w”, który jest oznaczony gwiazdką (*). Pomaga w pobieraniu wartości z lokalizacji pamięci, która jest przechowywana w zmiennej wskaźnikowej

Przykład

int * ptr int a * ptr = & a printf ('Wartość a =% dn', * ptr)

Typy wskaźników Znak * używany podczas deklarowania wskaźnika nie służy do usuwania referencji, ale informuje kompilator, że dana zmienna jest wskaźnikiem.Powyższa instrukcja print drukuje wartość obecną w lokalizacji pamięci, a ta lokalizacja pamięci jest wskazywana przez wskaźnik. tj. wartość zmiennej „a”.

Istnieje kilka typów wskaźników, które różnią się w zależności od sposobu ich użycia w programie.Przyjrzymy się niektórym z najczęściej używanych typów.

Wskaźnik zerowy

Wartość pusta jest przypisywana do wskaźnika, gdy nie masz pewności, jaki adres ma zostać przypisany. Można to zrobić, przypisując wartość „NULL” do wskaźnika w momencie deklaracji. Wartość tego wskaźnika wynosi 0.

samouczek Android Studio dla początkujących
int * ptr = NULL

Dziki wskaźnik

suma cyfr liczby w java

Dziki wskaźnik jest tworzony przez nie przypisywanie żadnej wartości do zmiennej wskaźnika. Należy go używać ostrożnie, ponieważ może to spowodować nieoczekiwane rezultaty.

Wskaźnik wiszący

Gdy wskaźnik wskazuje na usuniętą zmienną lub usuniętą alokację pamięci, wskaźnik jest nazywany wskaźnikiem wiszącym.Ten wskaźnik wskazuje na nieistniejącą lokalizację pamięci. Rzućmy okiem na następną część tego artykułu Wskaźniki w C.

Jak używać wskaźnika

Teraz mamy krótkie zrozumienie operatorów odwołania i wyłuskiwania. W tej sekcji zrozumiemy, jak używać wskaźników. Do tej pory nauczyliśmy się, jak deklarować wskaźnik i używać go do niektórych podstawowych operacji. W tym momencie mamy wystarczającą wiedzę, aby używać wskaźników do naprawdę niesamowitych zadań programistycznych, wykonując na nich operacje arytmetyczne.

Zwykle te operacje są wykonywane na tablicach. Odejmowanie do 2 adresów może dać nam odległość między 2 lokalizacjami pamięci.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Nasza tablica, na której będziemy wykonywać operacje * / int * ptr / * Wskaźnik * / ptr = First_array / * Przypisz adres tablicy do zmiennej wskaźnikowej * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

Wynik

Wyjście - Wskaźniki w C - EdurekaSpróbuj zaimplementować kod samodzielnie i wykonaj różne operacje arytmetyczne.Użyjmy wskaźników z łańcuchami.

#include #include int main () {char str [] = 'Hello World' / * Tworzenie tablicy * / char * p / * Pointer * / p = str printf ('Drukowanie wszystkich znaków w naszym łańcuchu') p = str for (int i = 0i


W ten sposób dochodzimy do końca tego bloga o „Pointers In C”. Mam nadzieję, że te informacje były dla Ciebie przydatne i wkrótce znajdziesz więcej samouczków na podobne tematy. Możesz również sprawdzić nasz program szkoleniowy t
o uzyskać dogłębną wiedzę na temat jQuery i jego różnych aplikacji, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępemZaimplementuj powyższy kod z różnymi ciągami i modyfikacjami. Teraz dobrze rozumiemy wszystkie kluczowe pojęcia związane ze wskaźnikiem.

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą.