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

Ako neko moze da objasni kako ovo radi :)

[es] :: C/C++ programiranje :: Ako neko moze da objasni kako ovo radi :)

[ Pregleda: 1946 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ramirez

Član broj: 13160
Poruke: 318
*.teletrader.com.



Profil

icon Ako neko moze da objasni kako ovo radi :)25.07.2007. u 12:09 - pre 203 meseci
Za primer mozemo uzeti i bilo koju drugu windows strukturu ali pretpostavljam da ce ova svima biti poznata.

Code:

typedef struct {
    UINT cbSize;
    UINT style;
    WNDPROC lpfnWndProc;
    int cbClsExtra;
    int cbWndExtra;
    HINSTANCE hInstance;
    HICON hIcon;
    HCURSOR hCursor;
    HBRUSH hbrBackground;
    LPCTSTR lpszMenuName;
    LPCTSTR lpszClassName;
    HICON hIconSm;
} WNDCLASSEX, *PWNDCLASSEX;


WNDCLASSEX wnd;
ZeroMemory(&wnd, sizeof(WNDCLASSEX)); // ili memset
wnd.cbSize = sizeof(WNDCLASSEX);
// inicijalizacija ostalih polja strukture

WNDCLASSEX wnd = { 0 }; // postavi sva polja na nulu pa nije potreban poziv funkciji ZeroMemory ili memset
wnd.cbSize = sizeof(WNDCLASSEX);

WNDCLASSEX wnd = { sizeof(WNDCLASSEX) };
// setuje cbSize na velicinu strukture a sva ostala polja na nulu. Kako?


Kod jeste cist C ali sam ga kompajlirao C++ kompajlerom pa je zato tema ovde.
 
Odgovor na temu

djalfirevic

Član broj: 76932
Poruke: 497
*.dynamic.sbb.co.yu.



Profil

icon Re: Ako neko moze da objasni kako ovo radi :)25.07.2007. u 18:23 - pre 203 meseci
Nisam samo skapirao, jel ti znas da se to sve desava a nije ti u stvari jasno na koji nacin to radi (sintaksno) ili nesto drugo...?
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

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



+4 Profil

icon Re: Ako neko moze da objasni kako ovo radi :)25.07.2007. u 18:34 - pre 203 meseci

WNDCLASSEX wnd = {0} je ekvivalent sa .... wnd = {} (kod novijih kompajlera) i nulira celokupnu strukturu.

Kada imash eksplicitnu inicijalizaciju strukture sa MANJE elemenata od broja elemenata u toj strukturi onda ce samo taj broj elemenata i biti inicijalizovan datim vrednostima, ostali ce biti inicijalizovani na nulu (kao u tvom primeru, gde je samo prvi chlan strukture eksplicitno inicijalizovan na sizeof(...) dok su ostali implicitno inicijalizovani na nulu).
 
Odgovor na temu

[es] :: C/C++ programiranje :: Ako neko moze da objasni kako ovo radi :)

[ Pregleda: 1946 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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