存储数据的方式
第一种,变量:
存放1个学生的数学成绩可以定义1个变量存放,那么如果想要存放100个学生的数学成绩应该如何存储呢?
第二种,数组:
引入数组概念:
可以用来表达类型相同的元素的集合,集合的名字就是数组名。在这里强调的类型相同类似于生活当中的品类相同,集合类似于存放相同品类的大箱子,一旦箱子放入了苹果,那么只能存放苹果,不能再向里面添加西瓜、香蕉、葡萄等其他品类!
数组的定义:
数组占用存储空间大小:
数组初始化:
第一种,定义时没有强调数组长度,根据实际初始化数值分配空间:
第二种,定义时强调数组长度,根据定义元素个数分配空间:
如果超出定义元素个数,那么报错:
数组索引(数组下标):
下标图解:
程序实现:
如果大括号{}中值的个数少于元素个数,那么相当于只给前面部分元素赋值,而后面的元素,其存储空间里的每个字节都被写入二进制数0:
数组越界:
越界图解:
程序实现,数组越界操作不可取:
数组越界的危害:
1、可能意外修改其他变量空间的值,导致程序运行结果不正确!
2、试图访问不该访问的内存空间,可能导致程序崩溃!
3、用某些编译器编译可以正确运行,换一个编译器编译后可能就运行错误!
数组的秘密:
数组名字就是指向数组第一个元素a[0]的地址:
程序实现:
如果n为整数,那么a+n等价于&a[n]: