逝者如斯,不舍昼夜

尘世中一个迷途小书童,读书太少,想得太多
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C语言数组初始化全部为0

Posted on 2015-08-15 16:10  SteveWang  阅读(9184)  评论(0编辑  收藏  举报

 

 

int a[15] = {0};

 

  编译器会把第一个初始化值(这里是0)赋给数组的第一个元素,然后用默认值0赋给其余的元素。如果没有给出初始值,编译器不会去做初始化工作。这样简洁的方式让代码更加高效。

 

 

  另一种,就是memset函数(在string.h中定义)的使用。例如上面的数组,可以

memset(a,0,sizeof(a));

 

  个人建议用第一种,因为感觉使用函数会大费周章,而且这个函数用得不熟经常用错,调BUG成本也高。

  最后建议:变量都应该有个初始值。