A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liaohaojin 中级黑马   /  2015-7-21 21:03  /  808 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文




类型说明符 数组名[常量表达式] = { , ...... };


其中在{ }中的各数据值即为各元素的初值,各值之间用逗号间隔。


1)指定元素的个数的同时,对所有的元素进行显式的初始化
int nums[5] = {1,2,3,4,5};

2)指定数组的元素个数,对数组进行部分显式初始化 定义的同时对数组进行初始化,没有显式初始化的元素,
那么系统会自动将其初始化为0
int num[5] = {1}   --->   1,0,0,0,0

3)不指定元素个数,定义的同时初始化,它是根据大括号中的元素的个数来确定数组的元素 个数
int nums[] = {1,2,3,5,6};

4)指定元素个数,同时给指定元素进行初始化
int nums[5] = {[4] = 3,[1] = 2};

给数组赋值的方法除了用赋值语句对数组元素逐个赋值外
还可采用初始化赋值和动态赋值的方法


先定义后初始化
        int a3[5];

         a3[0] = 1;   //
给数组第一个元素赋值
         a3[1] = 2;   //
给数组第二个元素赋值
         a3[2] = 3;
         a3[3] = 4;

         a3[4] = 5;


注意点:
         
        
以下的写法是错误的
        int len = 4;
        int a5[len]={1,2,3,4};   //只能定义,不能初始化






问题:如果一个数组进行了部分初始化,没有初始化部分存放的到底是什么值?
答案:如果一个数组进行了部分初始化,那么这个数组没有初始化的部分,自动初始化为0
字符数组没有初始化那部分的元素得ascii码值也被系统初始化为0
特别强调:使用先定义后初始化的方式,如果部分数组元素被初始化了,系统不会对没有初始化的那部分元素进行赋值0的操作



问题2:如果一个数组定义后,不进行初始化,此时数组的每一个元素值是多少?
答案:垃圾值








8 个回复

倒序浏览
不管是你谁我们都懂
回复 使用道具 举报
总结了 学习了 哈哈  
回复 使用道具 举报
总结的可以,挺全面的,可以利用
回复 使用道具 举报
顶一个~
回复 使用道具 举报
围观学习!
回复 使用道具 举报
学习学习,真是好啊!
回复 使用道具 举报
刚好用到。。。
回复 使用道具 举报
chensc 金牌黑马 2015-7-29 19:23:43
9#
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马