1、数组的概念
数组是一组相同类型元素的集合
数组中存放的是1个或者多个数据,但数组的元素个数不能为0
数组中存放的多个数据,类型是相同的
数组分为一维数组和多维数组,多维数组比较常见的是二维数组
2、一维数组的创建与初始化
2.1 数组创建
基本语法:
type arrr_name[常量值];
type 指定的是数组中存放数据的类项,可以是 : char、short、int、float等,也可以是自定义类型
arr_name 指的是数组的名字
[ ]中的常量值是用来指定数组的大小
2.2 数组的初始化
//完全初始化
int arr[5] = {1,2,3,4,5};
//不完全初始化
int arr2[6] = {1};//第一个元素初始化为1,其余默认初始化为0
//错误的初始化 - 初始化项太多
int arr[3] = {1,2,3,4};
2.3 数组的类型
int arr1[10];
int arr2[12];
char ch[5];
arr1 数组的类型是 int [10]
arr2 数组的类型是 int [12]
ch 数组的类型是 char [5]
3、一维数组的使用
3.1 数组下标
数组下标是从0开始的,假设数组有n个元素,最后一个元素的下标是n-1
4、一维数组在内存中的存储
数组在内存中是连续存放的,地址是由小到大变化的
5、二维数组的创建
5.1 二维数组的概念
如果把一维数组作为数组的元素,这时候就是二维数组
二维数组作为数组的元素的数组被称为三维数组,二维数组以上的数组统称为多维数组
5.2 二维数组的创建
type arr_name[常量值1][常量值2];
例如:
int arr [ 3 ] [ 5 ];
double data [ 2 ] [ 8 ];
3表示有三行
5表示每行有5个元素
int 表示数组的每个元素是整型类型
arr 是数组名
6、二维数组的初始化
6.1 不完全初始化
int arr1[3][5] = {1,2};
int arr2[3][5[ = {0};
6.2 完全初始化
int arr3[3][5] = {1,2,3,4,5, 6,7,8,9,0 ,1,3,4,5,6};
6.3 按照行初始化
int arr4[3][5] = {{1,2},{3,4},{5,6}};
6.4 初始化时能省略行,但不能省略列
int arr5[][5] = {1,2,3};
7、二维数组的使用
7.1 二维数组的下标
C语言规定,二维数组的行是从0开始的,列也是从0开始的
8、二维数组在内存中的存储
二位数组中的每个元素都是连续存放的
9、C99中的变长数组
C99中给一个变长数组的新特性,允许我们使用变量指定数组大小
int n = a + b;
int arr[n];
数组arr就是变长数组,因为它的长度取决于n的值
变长数组的根本特征,就是数组长度只有在运行时才能确定,所以变长数组不能初始化