char cMsg [128] [12];
是这样的:
ZeroMemory(cMsg, sizeof(cMsg));
比这个?
for(i=0;i<128;i++)
ZeroMemory(cMsh[i], sizeof(cMsg[i]))
编译器在两种方式下都没有错误,但它们是否符合相同的目标?
答案 0 :(得分:5)
char
数组的行为是相同的,因为它们没有对齐要求或中间的填充字节。第一种方法可能比第二种方式快一些,因为它使用较少的函数调用,加速度太小而无法在现代硬件上可靠地测量,最终结果将是相同的。 / p>
答案 1 :(得分:4)
是强>
ZeroMemory
将一块内存归零,并且数组是连续的。
因此,将“整块”中的整个块清零而不是一次性归零在功能上是相同的。