【发布时间】:2016-12-17 08:01:36
【问题描述】:
我见过两种用0 填充char[] 的不同方法(在此示例中,在初始化时):
/* method 1 */
char foo[1024] = {0};
/* method 2 */
char foo[1024];
memset(foo, '\0', sizeof(foo));
这两个代码的主要区别是什么?它们在功能等方面有何不同?
【问题讨论】:
-
“它们在功能上有什么不同,”你指的是哪个功能?
-
@alk 他们实现了完全相同的最终目标吗?如果不是,有什么区别?
-
是的,调用
memset后,案例2的foo与案例1的foo的内容相同,即全部0s。 -
@alk 好的,谢谢;只是想知道,一种被认为比另一种更好的做法吗?
-
现在来吧,请重新设计重新设计。就目前而言,它使 GUI 变得混乱。