比較少見的結構(未完待續)
struct decodeUINT { // Structure associates UINT Code; // messages // with a function. LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM); }; const struct decodeUINT MainMessages[] = { WM_PAINT, DoPaintMain, WM_DESTROY, DoDestroyMain, };
個人理解:
MainMessages[]申明了2個結構體變量,係統並不知道 Code 和 LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM);,當對其進行賦值的時候,係統並不知道誰是誰,隻是按照你賦值的順序存儲。
從而,後麵的
const struct decodeUINT MainMessages[] = { WM_PAINT, DoPaintMain, WM_DESTROY, DoDestroyMain, };
實現了對多個結構體變量初始化的效果,有點像linux內核中用點來初始化結構體。
#if defined()
#if defined()和 #ifdef 的作用相同。
#if defined(MICRO) 用於測試MICRO是否被定義了。
所以,#if defined(MICRO)與#ifdef MICRO等價
版權申明:
轉載文章請注明原文出處https://blog.csdn.net/feiyinzilgd/archive/2010/03/09/5362402.aspx
最後更新:2017-04-02 04:26:01