一.为什么需要数组
为了解决大量同类型数据的存储和使用问题
二.数组的分类
1.一维数组
(1)怎样定义一维数组
为n个变量连续分配存储空间,所有变量数据类型必须相同,所有变量的字节大小必须相同
例子:
int a[5] = {1,2,3,4,5}; 完全初始化
int a[5] = {1,2,3}; 不完全初始化,为完全初始化的变量自动为零
int a[5]; 不初始化,所有元素都是垃圾值
int a[5] = {0}; 清零
错误写法:
int a[5];
a[5] = {1,2,3,4,5}; 错误!
只有定义数组的同时才可以整体赋值,其他情况下整体赋值都是错的。
2.二维数组
类似于线性代数的矩阵。
例:
int a[3] [4] ;
总共有12(3*4)个元素,可以当作3行4列看待,这12个元素的名字依次是:
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
二维数组整体赋值
法1:
int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
法2:
int a[3][4]={
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
}
3.多维数组
(1)是否存在多维数组?
答:不存在,因为内存是线性唯一的,n维数组可以当作每一个元素是n-1维数组的唯一数组。
比如:
int a[3][4];
该数组是含有3个元素的一维数组
只不过每个元素都可以再分为4个小元素
int a[3][4][5];
该数组也是含有3个元素的一维数组
只不过每个元素都可以再分为4行5列的二维数组