数组初始化时候的一些小问题你了解吗(数组初始化的常见方式有三种)
导语:数组初始化时候的一些小问题,你了解吗
老张:小豆丁啊,你干啥呢?
小豆丁:我在学习啊......
老张:真的吗?
小豆丁:好吧,我承认,溜号了......
老张:就你那点小动作,还能逃出我的法眼!
小豆丁:额...你说的对...
老张:过来,问你一个问题,看看你掌握的怎么样?
小豆丁:说吧!
老张:给我解释下这行代码啥意思?
int arr[4] = {0};
小豆丁:这个难不住我,这行代码表示声明了一个数组,数组名字叫arr,数组有四个元素,每个元素都是整数类型的,每个元素初始的时候都被赋值为0!
老张:那这个呢?
int arr[4] = {1};
小豆丁:一样啊,只不过初始的时候每个元素都被赋值成1了!
老张:确定吗?
小豆丁:确定啊!
老张:去把数组初始化的笔记,再写三遍!!!
小豆丁:额...我说错了?
老张:当然错了,int arr[4] = {0};每个元素都是0,然后就想当然的认为int arr[4] = {1};每个元素都是1了?
小豆丁:不是吗?
老张:还想当然!去把这个问题给我搞明白,要不然晚上不让你吃零食!
半个小时后...
小豆丁:我知道了,老张...
老张:知道问题出在哪了?
小豆丁:嗯,在数组初始化的时候,如果所提供的数据少于数组元素个数,那么没有得到赋值的元素会默认的被初始化为0,在第一种写法中,有四个元素,但只有一个数据0,所以这个0赋值给了数组中的第一个元素,剩下的三个元素没有数据,所以默认的被初始化为零,结果就是四个元素都是0。
老张:第二种情况呢?
小豆丁:第二种情况也是只有一个数据1,这个1赋值给了数组中的第一个元素,剩下的三个元素默认初始化为0,所以第二种情况中,arr[0]为1,arr[1]为0,arr[2]为0,arr[3]为0。
老张:不是在想当然的认为都是1了?
小豆丁:嘿嘿,不啦!以后上课一定不溜号了!
本文内容由快快网络小梓整理编辑!