Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Povezane liste – fali mi 1 bajt

[es] :: C/C++ programiranje :: Povezane liste – fali mi 1 bajt

[ Pregleda: 1622 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
*.3dnet.co.yu.



+2 Profil

icon Povezane liste – fali mi 1 bajt24.01.2006. u 17:30 - pre 222 meseci
Povezane liste predstavljam kao typedef struct elem {int broj; struct elem* sled;}Elem;
I onda Elem* lst=NULL;
I sad fino napravim funkciju koja dodaje elemente na početak ili kraj liste i dodam jedno 3 elementa. Pogledam adrese tih elemenata u memoriji preko printf i dobijem sledeće vrednosti
3280848
3280904
3280960

Onda sa printf pogledam sizeof(Elem) kad ono dobijem 8 bajtova. Pogledam sizeof lst->broj i sizeof lst->sled kad ono svaki zauzima po 4 bajta.

Sad mene zanima sledeće. Prvi element u listi se nalazi na adresi 3280848, a drugi na 3280904. Kad oduzmem ta dva broja dobijem 56 što predstavlja količinu memomirje u kojoj je smešten 1 element izražen u bitovima. Odnosno 1 element zauzima 7bajtova u memoriji. Kako onda sa sizeof(Elem) dobijem 8 i svaki od članova tog elementa zauzima po 4 bajta, a ukupno zauzeće u memoriji je 7. Gde nestade taj bajt?

77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: Povezane liste – fali mi 1 bajt24.01.2006. u 18:00 - pre 222 meseci
Citat:
što predstavlja količinu memomirje u kojoj je smešten 1 element izražen u bitovima


U bitovima?

Adrese se josh uvek rachunaju u bajtovima, na srecu.
Razlika adresa je razlika u bajtovima. Dinamichki elementi, osim toga, ne moraju da budu naslagani u memoriji redom, jedan za drugim (tj. po standardu mora samo u sluchaju nizova)
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
*.3dnet.co.yu.



+2 Profil

icon Re: Povezane liste – fali mi 1 bajt24.01.2006. u 18:17 - pre 222 meseci
Kako mi je bedno iskorišćena memorija :(
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: Povezane liste – fali mi 1 bajt24.01.2006. u 21:32 - pre 222 meseci
Ako te to brine (a ne bi trebalo da te brine), sedi pa napishi svoj memory-manager za objekte fiksne velichine.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Povezane liste – fali mi 1 bajt

[ Pregleda: 1622 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.