Prikaz jedne poruke
Stara 30.3.2012, 14:33   #1
ozzytheking
Član
 
Član od: 13.7.2009.
Poruke: 151
Zahvalnice: 67
Zahvaljeno 29 puta na 26 poruka
Određen forumom Funkcije u windows.h biblioeci...

Neke windows.h (wincon.h) funkcije imaju za argument pokazivac na promenljivu u koju ce biti smesten broj koji obicno predstavlja broj uspesno obavljenih operacija unutar funkcije i vrlo cesto je potpuno beskorisno znati broj uspesnih <cega god>. Primer. Funkcija za stampanje karaktera na nekoj poziciji na konzoli izgleda ovako - FillConsoleOutputCharacter(Izlaz, 'A', 1, (COORD){1, 1}, &BESKORISNO_*****E) i u promenljivu BESKORISNO_*****E ce biti smesten broj uspesno odstampanih karaktera. E sad, posto mi je trulo da imam promenljivu BESKORISNO_*****E, a ni za sta mi ne treba, uz malo eksperimentisanja dodjoh do zakljucka da FillConsoleOutputCharacter(Izlaz, 'A', 1, (COORD){1, 1}, &(DWORD <tj. unsigned long>){0}) radi identicno. Ono sto mi nije jasno je kako &(DWORD){0} radi.
Skoro sam provalio da kada prosledjujem strukturu kao argument funkciji ne moram prvo da pravim novu promenljivu vec mogu "na licu mesta" da napravim i prosledim strukturu (ovo (COORD){1, 1}). Moje shvatanje ovog je da to radi kao sa primitivnim promenljivama npr. int a = 5; funkcija(a + 1); ali onda ne kapiram zasto &(DWORD){0} radi jer po nekoj logici, taj argument nije fizicka/definisana promenljiva u koju ce (u slucaju funkcije FillConsoleOutputCharacter) biti smesten broj uspesno odstampanih karaktera, vec samo "na licu mesta zbuckan i prosledjen broj tj. njegova adresa". Gde gresim?
Malo sam ga zakomplikovao.
ozzytheking je offline   Odgovor sa citatom ove poruke