今日用到 MODULEENTRY32 x = {sizeof(MODULEENTRY32)} ,不知何意,真是差劲了。
其实让我们仔细看看,这是一个很简单的成员初始化工作。
我们知道数组可以如下初始化:
int iArray[3][4] = {3,4};
这个的意思是数组的第一个、第二个值为3,4而其他的为0;当然,你若把iArray[3][4]只声明为局部变量,没有后面的初始化列表,则iArray数组成员值未定。所以上面的这个表示法,也起初始化其他成员的作用。若把iArray[3][4]声明为全局变量,则不进行初始化操作,它的成员全部为0.
好了,说了这么多,我们说说我们的 MODULEENTRY32 x = {sizeof(MODULEENTRY32)} 。其实这个也是一个道理。我们知道MODULEENTRY32是个结构体,换言之我们可以看作是不同数据类型组合在一起的数组。(数组不同,只能是同种类型的数据类型),所以我们在初始化结构体类型的变量时,若想采用本标题所用的方法,则第一个为(int,dword,long等)为好,有利于扩充本字段的功能。当然你完全可以把结构体的第一个字段声明了char*型的,则你可以这样初始化{NULL},这个后面接其他值。
总结,其实说了这么多,我只是想说明,“{} ”内的东西,只是起初始化对应值的作用,当然还起到其他的一点副 作用,你自己实践吧!不能让我把所有的问题都说完了。