![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=1739253910-h8dx6m7fhnHt7zkDycBrw6EahWJCatg2-0-0babf729c1c5acea35b3a63e1b21e984)
(2)定义数组的时候给初值。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85563.jpg?sign=1739253910-06Tsz3raxPgKfdPkvaMeb8Eti24PsroO-0-b6017013fb94e788752084f24f11bcfd)
(3)可以只给一部分数组元素初值,发现其他数组元素的值系统自动给成了0。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85565.jpg?sign=1739253910-2HvExpFrn8Hh9ZBUwGK7e7hSxV1QgoUP-0-7e40c26b1bd1d9abde5d3716ab15f717)
(4)如果要对全部数组元素赋初值,可以不指定数组长度。例如:
①正常来讲,定义数组并赋初值是这样写的:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p101_85569.jpg?sign=1739253910-5QKkyndIdeYch6KJyv0Isi4GWyaGt2hI-0-3e66a4b93fcd87affbc128cda8c6bc81)
②现在改造一下,把代表数组长度的数字去掉,也就是中括号里面没内容了:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85575.jpg?sign=1739253910-bsowwCxDZy4Yh2Uo7qe1G5LlfMpLPOlR-0-7bd84a63d5310a4ff0e807386de86c83)
当中括号里面没有数字时,系统会猜测这个数组在定义并赋初值这个语句里面给了多少个初值,有多少个初值这个数组的长度就是多少,例如这里有5个初值,系统就认定定义的是
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85576.jpg?sign=1739253910-fvRIT7BHOLeZkfT40kssV1jCXOKGjCRw-0-6758c88ce5cda8a27fa3517f13ec6bd3)
(5)通过上一条的叙述,可以得到一个结论:若被定义的数组长度与数组初始化时提供的初值个数不相同,则代表数组长度的数字(下面这个数字10)不能省略。例如:
![](https://epubservercos.yuewen.com/F329F6/23721607801994206/epubprivate/OEBPS/Images/Figure-p102_85578.jpg?sign=1739253910-rc1yK67K2H6YMSMABbP1m2bJ3Cqooqsd-0-d1e4e60975b02ce99bf2ca2edb86b664)