![C++新经典](https://wfqqreader-1252317822.image.myqcloud.com/cover/184/44510184/b_44510184.jpg)
上QQ阅读APP看书,第一时间看更新
6.1.3 一维数组的初始化
一维数组如何在定义时进行初始化(给初值)呢?有如下这些给初值的方法。
(1)定义数组的时候不给初值。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85562.jpg?sign=1738946873-nqGnIUJRQDvT6qUxmfLUX1jdaF0j2fJC-0-5bd2f6ddc0b57a05156dc302f1d2dcaa)
(2)定义数组的时候给初值。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85563.jpg?sign=1738946873-uF8JLWWIMsZqOzuERrQrxncTwIkmV9v4-0-5fa325a4fd48004c23f9da6cc5e75d68)
(3)可以只给一部分数组元素初值,发现其他数组元素的值系统自动给成了0。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85565.jpg?sign=1738946873-L3Lo75sLPDnCc5RLYGc3jcyr5aLAZ9HU-0-ff39b1de928c064b44da6846762d224d)
(4)如果要对全部数组元素赋初值,可以不指定数组长度。例如:
①正常来讲,定义数组并赋初值是这样写的:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85569.jpg?sign=1738946873-NaATwr8GTBOhTMCEzobAY0oOKnccdrpM-0-73f90959e47ac85ed3c80d4dc6a23806)
②现在改造一下,把代表数组长度的数字去掉,也就是中括号里面没内容了:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85575.jpg?sign=1738946873-MUN2Lnt2xxDr4RQlXCdfvs37htRwSHWd-0-f69115c943bdfa5bce417f5b4e74891a)
当中括号里面没有数字时,系统会猜测这个数组在定义并赋初值这个语句里面给了多少个初值,有多少个初值这个数组的长度就是多少,例如这里有5个初值,系统就认定定义的是
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85576.jpg?sign=1738946873-vxZldhqbC5LeMhfJG112aXF2Oc7fcZio-0-972f31bb8ab3dc178b096f63295a609d)
(5)通过上一条的叙述,可以得到一个结论:若被定义的数组长度与数组初始化时提供的初值个数不相同,则代表数组长度的数字(下面这个数字10)不能省略。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85578.jpg?sign=1738946873-gMaH3KCl4ToC9NSO7WgLxWn1MRLICU92-0-c1c17ce468e7c738490a3cad66cd3de0)