黑马程序员技术交流社区
标题:
一维数组的初始化
[打印本页]
作者:
liaohaojin
时间:
2015-7-21 21:03
标题:
一维数组的初始化
类型说明符
数组名
[
常量表达式
] = {
值
,
值
......
值
};
其中在
{ }
中的各数据值即为各元素的初值
,
各值之间用逗号间隔。
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:
如果一个数组定义后,不进行初始化,此时数组的每一个元素值是多少?
答案:
垃圾值
作者:
Thomas-王
时间:
2015-7-21 21:06
不管是你谁我们都懂
作者:
糖糖本尊
时间:
2015-7-21 21:19
总结了 学习了 哈哈
作者:
哒哒萌
时间:
2015-7-21 21:34
总结的可以,挺全面的,可以利用
作者:
小蜗牛0519
时间:
2015-7-28 13:43
顶一个~
作者:
我丶就这样
时间:
2015-7-28 15:05
围观学习!
作者:
小林儿
时间:
2015-7-28 21:32
学习学习,真是好啊!
作者:
手残程序员
时间:
2015-7-28 22:28
刚好用到。。。
作者:
chensc
时间:
2015-7-29 19:23
学习学习!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2