第四章 数组

一维数组的创建和初始化

数组的创建方式:

ElemType arr_name[const_n]
//ElemType是指数组的元素类型
//const_n是一个常量表达式,用来指定数组的大小

数组的初始化:数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)

int arr[10] = {1,2,3}; //不完全初始化,剩下的元素默认初始化为0
char arr2[5] = {'a', 'b'}; //因为剩下的元素默认被初始化为0,所以arr2这个字符串为“ab”
char arr4[] "abcde"; //这时arr4被初始化为{'a','b','c','d','e','\\0'};

【例题】sizeof()和strlen()的返回结果

char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
printf("%d\\n", sizeof(arr1)); //4
printf("%d\\n", sizeof(arr2)); //3
printf("%d\\n", strlen(arr1)); //3
printf("%d\\n", strlen(arr2)); //随机数

数组在内存中的存储:数组在内存中是连续存放的

总结:

  1. 数组是使用下标来访问的,下标是从0开始
  2. 数组的大小可以通过计算得到

二维数组的创建

int arr[3][4]; //一个3行4列的数组

二维数组的初始化

int arr[3][4] = {1,2,3,4,5}; //1,2,3,4会被放在第一行,5会被放在第二行
int arr2[][4]={{1,2,3,4},{5,6,7,8}}; //二维数组初始化可以省略行数,不可以省略列数

二维数组在内存中的存储:二维数组在内存中的存储也是连续的(先存第一行,再存第二行,以此类推)