C++Nota 10

理解数组
熟练使用一堆数组解决实际问题
掌握二维数组的使用
使用数组实现常用算法

什么是数组:
数组是一个变量,由数据类型相同的一组元素组成
数组只有一个名称,即标识符(用来表示数组的变量名)
数组中的每个元素都可以通过下标来访问
数组长度固定不变,避免数组越界

变量:内存中的一块空间
数组:内存中的一串连续的空间

数组的结构和基本要素
标识符:数组的名称,用于区别不同得数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号
元素类型:数组元素的数据类型
数组名的构成方法与一般变量名相同
例如:int a[10];
表示a为整形数组,有10个元素:a[0]…a[9]
例如:int a[5][3];
表示a为整型二维数组,其中第一维有5个下标(04),第二维有3个下标(02),数组的元素个数为15,可以用于存放5行3列的整型数据表格
数组元素的使用:
数组必须先定义,后使用
可以逐个引用数组元素
例如:
a[0] = a[5] + a[7] - a[2*3]
b[1][2] = a[2][3] / 2
一维数组的存储:
数组元素在内存中顺次存放,它们的地址是连续的,元素间物理地址上的相邻,对应着逻辑次序上的相邻
例如:
int a[10];
a[0] a[1] a[2] … a[9]
a是数组名字,是数组首元素的内存地址
数组名是一个常量,不能被赋值
一维数组的初始化:
列出全部元素的初始值:
例如:static int a [10] = {0~9};
可以只给一部分元素指定初值:
例如:static int a[10] = {0,1,2,3,4};
列出全部数组元素初值时,可以不指定数组长度:
例如:static int a [] = {0~9}
二维数组的存储:
按行存放
例如:float a[3][4];
可以理解为:
a[0]——a00 a01 a02 a03
a[1]——a10 a11 a12 a13
a[2]——a20 a21 a22 a23
其中数组a的存储顺序为:
a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a2
二维数组的初始化:
将所有初值写在一个{}内,按顺序初始化
例如:static int a[3][4] = {1~12};
分行列出二维数组元素的初值
例如:static int a[3][4] = {{14},{56},{9~12}};
可以只对部分元素初始化
例如:static int a[3][4] = {{1},{0,6},{0,0,11}};
列出全部初始值时,第1维下标个数可以省略
例如:static int a[][4] = {1~12};
或:static int a[][4] = {{14},{58},{9~12}};
如果不作任何初始化,局部作用域的非静态数组中会存在垃圾数据,static数组中的数据默认初始化为0
如果只对部分元素初始化,剩下的未显式初始化的元素,将自动被初始化为零

闰年判定:能被400整除。或者能被4整除但不能被100整除。其余的年份都为平年。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值