2. 当结构体类型中包含指针时,在使用memset初始化时需要小心。 比如如下代码中, [cpp] view plain copy struct Parameters { int x; int* p_x; }; Parameters par; par.p_x = new int[10]; memset(&par, 0, sizeof(par)); 当memset初始化时,并不会初始化p_x指向的int数组单元的值,而会把已经分配过内存的p_x指针本身设置为0,造成内存泄漏。 当我们用memset函数给一个含有指针的结构体做清零动作的时候,结构体里的指针会被置为空指针