我需要C中有一个大的空数组作为全局数组。除了输入以外,还有其他方法吗

char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ };


最佳答案

全局变量和静态变量会自动初始化为零。如果你只是

char ZEROARRAY[1024];


在全局范围内,运行时将全为零。但是实际上,如果您有本地数组,则有一种简化的语法。 If an array is partially initialized, elements that are not initialized receive the value 0 of the appropriate type.您可以写:

char ZEROARRAY[1024] = {0};


编译器将用零填充未写入的条目。或者,您可以使用memset在程序启动时初始化数组:

memset(ZEROARRAY, 0, 1024);


如果您已更改它并想将其重置为全零,那将很有用。

10-07 14:58
查看更多