1 Wskaźniki w C Podstawy podstaw podstaw podstaw.....
2 Co musi mieć zmienna? MUSI Istniejąca w określonym momencie zmienna DOWOLNEGO typu MUSI mieć: Typ Adres w pamięci Wartość Przykład: int x=3; int y;
3 Przechowywanie zmiennych w pamięci – bardzo uproszczone void main(void){ int x; x=7; } RAM X=7 Śmieci
4 RAM Void main(void){ int x; Wartość 1233X Adres w pamięci Nazwa Przechowywanie zmiennych w pamięci – bardzo uproszczone void main(void){ int x; x=7; } 7 Wartość 1233X Adres w pamięci Nazwa
5 RAM Przechowywanie wskaźników w pamięci – bardzo uproszczone void main(void){ int * w ; } W ŚMIECI. Zmienna w jest wskaźnikiem (do int), który wskazuje na ŚMIECI. ?
6 RAM Przechowywanie wskaźników w pamięci – bardzo uproszczone void main(void){ int x; int *w; x=7; } W ŚMIECI! Zmienna w wskazuje na ŚMIECI! X=7 ?
7 Przechowywanie wskaźników w pamięci – bardzo uproszczone RAM void main(void){ int x; int *w; x=7; } NazwaAdres w pamięci Wartość X12337 W6424 ???? ŚMIECI! Zmienna w wskazuje na ŚMIECI!
8 Przechowywanie wskaźników w pamięci – bardzo uproszczone void main(void){ int x; int *w; x=7; w=&x ; } Zmienna w wskazuje na zmienną x W X=7
9 Przechowywanie wskaźników w pamięci – bardzo uproszczone RAM void main(void){ int x; int *w; x=7; w=&x ; } NazwaAdres w pamięci Wartość X W NazwaAdres w pamięci Wartość X W Wartość w to adres zmiennej x
10 Odwoływanie się do wartości zmiennej wskazywanej – wstęp W X=7 Y=2 void main(void){ int x,y; int *w; x=7; w=&x ; y=2; }
11 Odwoływanie się do wartości zmiennej wskazywanej – wstęp RAM void main(void){ int x,y; int *w; x=7; w=&x ; y=2; } NazwaAdres w pamięci Wartość X12337 W y23522
12 Void main(void){ int x,y; int *w; x=7; w=&x;y=*w; } Void main(void){ int x,y; int *w; x=7; w=&x; y=*w ; } Void main(void){ int x,y; int *w; x=7; w=&x; y=*w; } void main(void){ int x,y; int *w; x=7; w=&x; y=*w; } Odwoływanie się do wartości zmiennej wskazywanej – wstęp W X=7 Y=?? Wartość y to to, na co wskazuje w Y=7
13 Void main(void){ int x,y; int *w; x=7; w=&x; y=*w; } Void main(void){ int x,y; int *w; x=7; w=&x; y=*w ; } void main(void){ int x,y; int *w; x=7; w=&x; y=*w; } Odwoływanie się do wartości zmiennej wskazywanej RAM NazwaAdres w pamięci Wartość X W y2352?????? NazwaAdres w pamięci Wartość X W y2352 7
14 Jaką wartość przyjmie y? RAM NazwaAdres w pamięci Wartość x12337 w y s void main(void){ int x,y; int *w,*s; x=7; y=11; w=&x; s=w; y=(*s)+(*w); }