【发布时间】:2011-02-05 02:15:28
【问题描述】:
我需要一个 C 中的大空数组作为全局数组。除了打字还有什么办法吗
char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ };
?
【问题讨论】:
-
char ZEROARRAY[1024] = { 0 };
-
如果您需要在堆上分配内存,您也可以使用 calloc()。例如 char *zeroarray = calloc(1024, sizoef(*zeroarray)); .
-
注: calloc 适用于
char等,但是如果您想要一个指针数组,则应将它们显式设置为 NULL,(荒谬!)不能保证 NULL 表示为零字节。即使文字0隐式表示空指针也是如此。
标签: c arrays initialization