Wskaźniki Elżbieta Labocha
Wskaźnik Rodzaj zmiennej Jest w niej zapisany adres Nie przechowuje standardowych informacji lecz wskazuje gdzie ich szukać
Jak coś znaleźć.. Poszukać po nazwie Poszukać pod danym adresem
Skrzynka na listy Komórki skrzynki to komórki pamięci Liczby 28, 29, 30, 31 i 32 to adresy komórek pamięci List znajdujący się w skrzynce to zmienna I ma jakąś wartość np: list 35
Skrzynka a komputer Wartość zmiennej 35 została zapisana w pamięci pod adresem 28 Adres zmiennej odczytuje się za pomocą operatora pobrania adresu &
Przykład #include <stdio.h> #include <stdlib.h> int main() { int x = 35; printf("Wartosc zmiennej x: %d\n", x); printf("Adres zmiennej x: %d\n", &x); getchar(); return 0; }
Co zrobiliśmy.. Na początku zadeklarowaliśmy zmienną x typu int i przypisaliśmy jej wartość 35. Pierwszy "printf" wypisuje wartość naszej zmiennej. Drugi natomiast wypisze nam ADRES zmiennej x, gdyż umieściliśmy przed zmienną x operator pobrania adresu. Widzimy, że jeśli chcemy pobrać adres dowolnej zmiennej, wystarczy dodać & przed jej nazwą.
Wskaźnik nie jest niczym innym jak pewnym rodzajem zmiennej, która przechowuje adres innej zmiennej. Przykładowo, jeżeli x jest przechowywany pod adresem 21602, to wskaźnik do zmiennej x będzie zawierał wartość 21602. Aby utworzyć zmienną wskaźnikową w języku C należy użyć następującej składni: typ *nazwa_zmiennej; typ - jest to typ zmiennej wskazywanej (jeżeli zmienna jest typu int, to jej wskaźnik też musi być typu int). * - gwiazdka oznacza zmienną wskaźnikową. nazwa_zmiennej - nazwa zmiennej wskaźnikowej.