我需要C中有一个大的空数组作为全局数组。除了输入以外,还有其他方法吗
char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ }; ?
全局变量和静态变量会自动初始化为零。如果你只是
char ZEROARRAY[1024]; 在全局范围内,运行时将全为零。但实际上是一个速记语法,如果你有一个本地阵列。如果数组已部分初始化,则未初始化的元素将接收适当类型的值0。您可以这样写:
char ZEROARRAY[1024] = {0}; 编译器将用零填充未写入的条目。另外,您可以memset在程序启动时用来初始化数组:
memset(ZEROARRAY, 0, 1024); 如果您已更改它并想将其重置为全零,那将很有用。
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。