什么时候需要用memset将结构内存设为0

在多线程程序设计一书中,有这样的代码:

        WNDCLASS wc;

        memset(&wc, 0, sizeof(wc));
        wc.lpfnWndProc  = MainWndProc;
        wc.hInstance    = hInstance;
        wc.hIcon        = LoadIcon (hInstance, "GenIco");
        wc.hCursor      = LoadCursor(NULL,IDC_ARROW);
        wc.hbrBackground= GetSysColorBrush(COLOR_BACKGROUND);
        wc.lpszMenuName = "PRINTING_MENU";
        wc.lpszClassName= "PrintDlgClass";

但是windows程序设计却没有

 memset(&wc, 0, sizeof(wc));

这句,这是因为WNDCLASS一共有10个成员,windows程序设计书中都一一赋值了,而多线程书中没赋值全,所以必须用上面那句将内存内容设为0 ,这样就将缺省的另外三个成员都赋0。

posted on 2013-01-12 03:37  齐文宣  阅读(485)  评论(0)    收藏  举报

导航