搜索
写经验 领红包
 > 自然

数组初始化时候的一些小问题你了解吗(数组初始化的常见方式有三种)

导语:数组初始化时候的一些小问题,你了解吗

老张:小豆丁啊,你干啥呢?

小豆丁:我在学习啊......

老张:真的吗?

小豆丁:好吧,我承认,溜号了......

老张:就你那点小动作,还能逃出我的法眼!

小豆丁:额...你说的对...

老张:过来,问你一个问题,看看你掌握的怎么样?

小豆丁:说吧!

老张:给我解释下这行代码啥意思?

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了?

小豆丁:嘿嘿,不啦!以后上课一定不溜号了!

本文内容由快快网络小梓整理编辑!