【小雨学编程之C#】18.7 复杂数据类型-数组( 三 )
学会了数组的使用的调皮小伙伴会产生一个疑问 , 既然数组的初始化只是告诉计算机给数组分配空间 , 但是分配空间后并没有对其赋值 , 那么这时候的数组里面存储的是什么呢?
比如int[]a=newint[10]我们随意调用数组元素 , 比如a[2]会发现系统并没有报错 , 而是显示0 , 这是怎么回事?既然目测看不出什么名堂 , 我们就开启调试模式看看这时候 , 内存中到底有什么 , 我们在输出位置打一个断点 , 然后运行:
文章图片
我们看到此时内存中的scores中存储的都是0 , 那么我们将int换成double再看看:
文章图片
这时候scores中存储的也是0 , 我们换成string再看看:
文章图片
【【小雨学编程之C#】18.7 复杂数据类型-数组】换成char再看看:
文章图片
换成bool再看看:
文章图片
于是我们得出结论 , 数组初始化后 , 系统会给对应数组每个元素依照数据类型的不同赋默认值:
数值型数组默认值是0
字符串型数组默认值是null(null在内存中表示空的意思 , 也就是没有引用任何东西的意思 , 后面的知识点中会介绍)
字符型数组默认值是空字符
布尔型数组默认值是false
最后需要强调的是 , C#数组不支持动态数组 , 也就是当数组声明初始化后 , 其中元素的个数就固定了 , 不能在程序运行过程中随意修改!
屏幕前的小伙伴你们学会了吗!
- 双十一|双十一的惨淡,可以看出时代变得太快了!让所有人措手不及
- 【小雨学编程之C#】18.1 数据类型转换,数据类型别名
- 玉米|我科学家从野生玉米中找回“丢失”的高蛋白基因
- 深度学习|学生党过来人表示,我已经被数码圈坑了好几年,我也算是买明白了
- 固态硬盘|15岁学生离奇消失,监控覆盖,可以复原吗?
- 【直击引领区】到2025年目标产值规模达300亿元!张江医疗器械产业基地再升级
- 此人是数学奇才,中学没毕业,留下了3000多个神秘的公式
- “科学·科创·科普”:2022空间技术和平利用(健康)国际研讨会在京召开
- 「科学强国」跨越多种研究方向,他是我国原子弹成功爆炸背后的功臣
- 为何地球“选择”了碳基生命,而非硅基生命?科学家:物竞天择!