Poznaj C++ w$ godziny0140

Poznaj C++ w$ godziny0140



Wskaźniki 129

Wskaźniki 129

13

14

15

16

17

18


cout « "longVar:\t" « longVar;

cout « "\tAdres longVar:\t" « SlongVar « ”\n"; cout « "sVar:\t\t" « sVar; cout « "\tAdres sVar:\t" « SsVar « "\n”; return 0;

EFEKT DZIAŁANIA:

0x8fc9:fff4 0x8fc9:fff2 0x8fc9:ffee


Adres shortVar: Adres longVar: Adres sVar:


shortVar:    5

longVar:    65535

sVar:    -56635 (Możesz uzyskać nieco inne wyniki)

ANALIZA:


Deklarowane są trzy zmienne, w linii 7 zmienna typu short, w 8 unsigned int, w 9 long. Ich wartości i adresy są wypisywane liniach 11-16. Wykorzystany został operator adresu ( & ).

Wartość zmiennej shortVar wynosi 5 (tak jak należało oczekiwać), adres tej zmiennej wyniósł 0x8fc9:fff4. Ten skomplikowany adres jest specyficzny dla każdego komputera i może się zmieniać przy każdym uruchomieniu programu. Gdy uruchomisz program u siebie to uzyskasz inne adresy. Jedyne co się nie zmienia to różnice pomiędzy adresami. Jeśli na twoim komputerze zmienna całkowita typu short zajmuje dwa bajty, to różnica między dwoma pierwszymi adresami będzie właśnie dwubajtowa. Różnica między trzecim adresem a drugim będzie równa 4 (oczywiście jeśli zmienna typu long zajmuje 4 bajty). Rysunek 9.2. pokazuje, jak zmienne w naszym programie są przechowywane w pamięci.

Nie musisz znać numerycznej wartości adresu każdej zmiennej. Pamiętaj, że każda zmienna ma swój adres i przydzieloną liczbę komórek pamięci.

O tym, ile pamięci należy zarezerwować dla danej zmiennej mówi kompilatorowi typ

zmiennej, określony w miejscu deklaracji.

cout « "longVar:\t" « longVar;

13

14

15

16

17

18


cout « "\tAdres longVar:\t" « SlongVar « "\n"; cout « MsVar:\t\t" « sVar; cout « "\tAdres sVar:\t" « SsVar « "\n"; return 0;

shortVar: longVar: sVar:

5

65535

-56635


0x8fc9:fff4 0x8fc9:fff2 0x8fc9:ffee


Adres shortVar: Adres longVar: Adres sVar:

(Możesz uzyskać nieco inne wyniki)


Deklarowane są trzy zmienne, w linii 7 zmienna typu short, w 8 unsigned int, w 9 long. Ich wartości i adresy są wypisywane w liniach 11 — 16. Wykorzystany został operator adresu ( & ),

Wartość zmiennej shortVar wynosi 5 (tak jak należało oczekiwać), adres tej zmiennej wyniósł 0x8fc9:fff4. Ten skomplikowany adres jest specyficzny dla każdego komputera i może się zmieniać przy każdym uruchomieniu programu. Gdy uruchomisz program u siebie to uzyskasz inne adresy. Jedyne co się nie zmienia to różnice pomiędzy adresami. Jeśli na twoim komputerze zmienna całkowita typu short zajmuje dwa bajty, to różnica między dwoma pierwszymi adresami będzie właśnie dwubajtowa. Różnica między trzecim adresem a drugim będzie równa 4 (oczywiście jeśli zmienna typu long zajmuje 4 bajty). Rysunek 9.2. pokazuje, jak zmienne w naszym programie są przechowywane w pamięci.

Nie musisz znać numerycznej wartości adresu każdej zmiennej. Pamiętaj, że każda zmienna ma swój adres i przydzieloną liczbę komórek pamięci.

O tym, ile pamięci należy zarezerwować dla danej zmiennej mówi kompilatorowi typ zmiennej, określony w miejscu deklaracji.

Kiedy deklarujesz zmienna typu unsigned long to kompilator wie, że musi za

rezerwować w pamięci 4 bajty, tyle ile zajmuje zmienna tego typu.


Wyszukiwarka

Podobne podstrony:
B1r GODZINA    TIME    6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2
Poznaj C++ w$ godziny0084 70 Godzina 5 70 Godzina 5 8: 9: 10 11 12 13 14 15 16 17 18 19 20
Poznaj C++ w$ godziny0100 86 Godzina 6 86 Godzina 6 11 12 13 14 15 16 17 18 19 20
Poznaj C++ w$ godziny0231 222 Godzina 15 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
obraz0 (40) i GODZINA DZIEŃ MIESIĄC 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8
Obraz0005 333°^ GODZINA DZIEŃ MIESIĄC TIME DAY MONTH 6 7 8 9 10 11 12 13 14 15 16 17 18 1920 21 22 1
Obraz0008 GODZINA TIME DZIEŃ MIESIĄC 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 DAy’  
obraz0 (40) i GODZINA DZIEŃ MIESIĄC 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8
32886 zdanie K 3z strona 1 GODZINA DZIEŃ MiESIĄC TIME DAY MONTH 6 7 8 9 10 11 12 13 14 15 16 17 18 1
Obraz0640 GODZINA DZIEŃ MIESIĄC TIME    6 7 8 9 10 O 12 13 14 15 16 17 18 1920 21 22
Obraz0644 6 7 8 9 10(Tl> 12 13 14 15 16 17 18 1920 21 22 67 l GODZINA    TIME DZI
Obraz0645 GODZINA DZIEŃ MIESIĄC TIME DAY MONTH 6 7 8 9 10 0) 12 13 14 15 16 17 18 19 20 21 1 2 3 4
Obraz0643 GODZINA    TIME    6 7 8 9 10© 12 13 14 15 16 17 18 19
Obraz0645 GODZINA DZIEŃ MIESIĄC TIME DAY MON TH 6789,011© 13 14 15 16 17 18 19 20 21 22 1 2 3
c21 GODZINA DZIEŃ MIESIĄC TIME DAY MONTH 6 7 8 9 10 11 12 13 14 15 16 17 18 1920 21 22 1 2 3 4 5 6 7

więcej podobnych podstron