[ Ramirez @ 25.07.2007. 12:09 ] @
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.
[ djalfirevic @ 25.07.2007. 18:23 ] @
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...?
[ NastyBoy @ 25.07.2007. 18:34 ] @

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).