首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

数组初始化有关问题,非常不科学的现象!

2014-01-03 
数组初始化问题,非常不科学的现象!!我非常疑惑的一个问题:unsigned short Arry[256] {2047}这样定义数

数组初始化问题,非常不科学的现象!!
我非常疑惑的一个问题:

unsigned short Arry[256] = {2047};

这样定义数组 Arry 并初始化,想将所有元素都初始化为 2047,可是,结果却是第一个元素为 2047,其余的所有元素都是 0, 这不科学!!

谁帮我解释一下!
[解决办法]
其实这个问题,即使是有经验的程序员也容易犯,本人曾经犯过这个错。

以前一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={2047};是把a所有的元素初始化为2047. 其实不是这样的。如果初始化时指定的的元素个数比数组大小少,剩下的元素都回被初始化为 0。例如
      int   Arry[8]={1,2,3,4};
那么等效的是
      int Arry[8]={1,2,3,4,0,0,0,0};



热点排行