开发者社区> 问答> 正文

如何在C中将数组初始化为0?

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

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

展开
收起
保持可爱mmm 2020-02-06 23:09:47 402 0
1 条回答
写回答
取消 提交回答
  • 全局变量和静态变量会自动初始化为零。如果你只是

    char ZEROARRAY[1024]; 在全局范围内,运行时将全为零。但实际上是一个速记语法,如果你有一个本地阵列。如果数组已部分初始化,则未初始化的元素将接收适当类型的值0。您可以这样写:

    char ZEROARRAY[1024] = {0}; 编译器将用零填充未写入的条目。另外,您可以memset在程序启动时用来初始化数组:

    memset(ZEROARRAY, 0, 1024); 如果您已更改它并想将其重置为全零,那将很有用。

    问题来源于stack overflow

    2020-02-06 23:10:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载