一维数组
数组的创建
数组是一组相同类型元素的集合。
数组的创建方式:
type_t arr_name [const_n];
//type_t 是指数组的元素类型
//const_n 是一个常量表达式,用来指定数组的大小
数组的初始化
下标只能为整型常量或整型表达式
数组初始化的正确举例:
int arr1[10] = {1,2,3};
nt arr1[10] = {1,2,3}; int arr2[] = {1,2,3,4}; int arr3[5] = {1,2,3,4,5}; char arr4[3] = {'a',98, 'c'}; char arr5[] = {'a','b','c'}; char arr6[] = "abcdef";
一维数组的使用
一维数组的下标是从0开始的
一维数组在内存中的存储
由此我们可知,一维数组在内存中是连续存储的,且地址是由低地址到高地址
数组大小计算
int arr[10]; int sz = sizeof(arr)/sizeof(arr[0]);
用数组总大小除单个数组内值的大小
二维数组
二维数组的创建
int arr[3][4]; char arr[3][5]; double arr[2][4];
二维数组下标应该为常量表达式
int arr[3][4] = {1,2,3,4}; int arr[3][4] = {{1,2},{4,5}}; int arr[][4] = {{2,3},{4,5}};//二维数组如果有初始化,行可以省略,列不能省略
二维数组的使用
二维数组也是通过下标形式进行访问的,二维数组未完全初始化的部分会被赋0,若整个数组未初始化则是乱码
二维数组的存储
二维数组可理解为按行和列进行存储
我们看到二维数组在内存中也是连续存储的
二维数组理解成一维数组
我们可将二维数组的每一行理解成一个一维数组