閱讀746 返回首頁    go 阿裏雲 go 技術社區[雲棲]


比較少見的結構(未完待續)

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

  上一篇:go 穀歌宣稱台式機3年後滅亡 企業應轉向雲計算
  下一篇:go 拒絕磚家忽悠,看清職場真相——對工作的理解