比较少见的结构(未完待续)

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等价

 

 

 

 

版权申明:
转载文章请注明原文出处http://blog.csdn.net/feiyinzilgd/archive/2010/03/09/5362402.aspx

并请联系谭海燕本人或者前往谭海燕个人主页留言

你可能感兴趣的:(struct,测试,存储,2010,linux内核,structure)