如何将数组初始化为全0?

C语言中,声明数组的语句:

int arr[100];

这样声明得到的数组里面的存储的是随机的我们不知道的数据,对用户来说就是垃圾。有许多情况我们要将数组初始化为全零的情况才能进行其他操作。

最简单的方法就是用一个循环吧数组所有元素设置为0:

int arr[100];
int i = 0;
for(i = 0 ; i < 100 ; i++)
    arr[i] = 0;  //This will make all ZERO

我们还可以利用其他几种方式做到初始化数组为0:

1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么他在运行前会变成全0。

int arr[1024]; // This is global
int main(void)
{
    //statements
}

2、对于局部数组我们还有简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:

int main(void)
{
    int arr[1024] = {0};  // This will make all ZERO
    // statements
}

3、你还可以用memset函数在程序开始时初始化数组。这条命令这在你已经修改了数组之后又想将它重置为全0特别有用。

int arr[1024];
arr[5] = 67;
memset(ZEROARRAY, 0, 1024); //This will reinitialize all to ZERO
posted @   programnote  阅读(70962)  评论(1编辑  收藏  举报
编辑推荐:
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
阅读排行:
· 基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 上周热点回顾(3.31-4.6)
· 爆肝 1 周,为我的白板工具支持了 mermaid 流程图,为 ai 生成流程图铺平道路
点击右上角即可分享
微信分享提示