38989

38989



112


ROZDZIAŁ 17. WSKAŹNIKI

(czyli np. znaku czy liczby) w pamięci komputera. Dokładniejszą definicję możesz znaleźć w Wikipedii.

Operowanie na wskaźnikach

By stworzyć wskaźnik do zmiennej i móc się nim posługiwać należy przypisać mu odpowiednią wartość (adres obiektu, na jaki ma wskazywać). Słupi mamy znać ten adres? Wystarczy zapytać nasz komputer, jaki adres przydzielił zmiennej, którą np. wcześniej gdzieś stworzyliśmy. Robi się to za pomocą operatora & (ojH*ratora pobrania adresu). Przeanalizuj następujący kod1:

tfinclude <stdio.h>

int main (void)

{

int liczba ■ 80;

printf("Zmienna znajduje sie pod adresem: %p, i przechowuje wartość: ’/,d\n" (void*)&liczba, liczba); return 0;

>

Program ten wypisuje adres pamięci, |xm! którym znajduje się zmienna oraz wartość jaką kryje zmienna przechowywana pod owym adresem.

Aby móc zapisać gdzieś taki adres należy zadeklarować zmienną wskaźnikową. Robi się to poprzez (kalanie * (gwiazdki) po typie na jaki zmienna ma wskazywać, np.:

int *wskaznikl; char *wskaznik2; float*wskaznik3;

Niektórzy programiści mogą nieco błędnie interpretować wskaźnik do typu jako nowy typ i uważać, że jeśli napiszą:

int* a,b,c;

to otrzymają trzy wskaźniki do liczby całkowitej. Tymczasem wskaźnikiem będzie tylko zmienna a, natomiast b i c będą po prostu liczbami. Powodem jest to, że ”gwiazdka” odnosi się do zmiennej a nie do typu. W tym przypadku trzy wskaźniki otrzymamy pisząc:

int *a,*b,*c;

Aby uniknąć pomyłek, lepiej jest pisać gwiazdkę tuż przy zmiennej: int *a,b,c;

albo jeszcze lepiej nie mieszać deklaracji wskaźników i zmiennych:

int *a; int b,c;

‘Warto zwrócić uwagę na rzutowanie do typu wskaźnik na xwid. Rzutowanie to jest wymagane przez funkcję printf, gdyż tn oczekuj*?, że argumentem dla fonnatu Xp będzie wialnie wskaźnik na vouL gdy tymczasem w naszym przykładzie wyrażenie fcllczba jest typu wskaźnik na int



Wyszukiwarka

Podobne podstrony:
17 imprez masowych (np. targi EXPO w 2011) oraz walce z przestępczością czy też terroryzmem. Żołnier
skanuj0048 (17) 260 wać na wsi, czy w mieście. I jedno, i drugie ma swoje dobre strony. W mieście je
scan0019 (17) Wskaźniki i lampki sygnalizacyjne automatycznego testowania. Wskazanie może nastąpić n
Skanowanie 10 04 10 17 (31) r/ijc się o to, czy te ataki są ze sobą logicznie zgodne, czy stanowią
IMG13 (12) POLISACHARYDY Proste polisacharydy składają się wyłącznie z glukozy np. skrobia czy glik
IMG332 Przewidywana średnia ocena (PMV) jest wskaźnikiem, który przewiduje ocenę dużej liczby osób
Obrazek15 paniki (np. w kościele czy teatrze), lub negatywnej oceny ze strony innych ^_w przypadku o
IV SPIS TREŚCI 2.3    Przedmioty na pierwszym roku, czyli co wybrać - A czy B?.......
15 Formułowanie problemów... z perspektywy interesów firmy, np. opłacalności czy zyskowności
IMAG0288 (3) Merystemy wtórne budują zwykle pierścień równoległy do obwodu organów (np. kambium

więcej podobnych podstron