1.为什么需要数组
为了解决大量同类型数据的存储和使用问题
为了模拟现实世界
2.数组的分类:
一维数组:
怎样定义一维数组:
为n个变量连续分配存储空间
所有的变量数据类型必须相同
所有变量所占的字节大小必须相等
例子:int a [ 5 ] ;
一维数组名不代表数组中所有的元素
一维数组名代表数组第一个元素的地址
有关一维数组的操作:
初始化:完全初始化
int a[ 5 ]={ 1,2,3,4,5};
不完全初始化,未被初始化的元素自动为零
int a[ 5 ]={ 1,2,3 };
不初始化,所以元素都是垃圾值
int a[ 5 ];
清零
int a[ 5 ] ={ 0 };
错误写法: int a[ 5 ];// 5表示个数,5个的意思
a[ 5 ]={ 1,2,3,4,5};// 5表示下标
只有在定义数组的同时才可以整体赋值,其他情况下整体赋值都是错误的
int a[ 5 ]={ 1,2,3,4,5};
a[ 5 ] =100;// 错误,因为没有a【5】这个元素,最大只有a[ 4 ]
int a[ 5 ]={ 1,2,3,4,5};
int b[ 5 ];
如果要把a数组中的值全部赋值给b数组
错误的写法为
b = a;// 错误,原因提及指针的知识
正确的写法为:
for(i=0;i<5;i++)
b[ i ] = a[ i ] ;
操作 赋值
顺序
求最大/小值
倒置
查找
插入
删除
二维数组
int a[ 3 ][ 4 ]; 总共十二个元素,表示三行四列
a[ i ][ j ]; 表示第i+1行,j+1列
int a[ m ][ n ]; 该二维数组右下角的元素只能是a[m-1][n-1]
多维数组
是否存在多维数组?
即不存在。因为内存是线性一维的。
n维数组可以当做每个元素是n-1维数组的一维数组
比如: int a[ 3 ][ 4 ];该数组是含有三个函数的一维数组,每个元素都可以再分成四个小元素。
int a[ 3 ][ 4 ][ 5 ];该数组是含有三个元素的一维数组,每个元素都是四行五列的二维数组。