C语言之数组基础知识:
数组的定义
- 数组:多个相同类型数据按照一定顺序排列的集合;(可以理解为容器,存储数据);
- 数组名:标识符常量,符合标识符命名规范(不可再次赋值)。
- 元素:数组中的每个元素类型相同。
- 数组的长度:元素的个数。
- 下标(索引、角标):从 0 开始,最大索引与数组长度相差 1。
注意: 数组所占内存是一整块连续的空间,空间大小取决于数组的长度和数组中元素的类型。
提示:
1.数组中元素在内存中是依次紧密有序排列的。
2.数组初始化后,长度就是确定的,不能再修改。
定义数组的方式
- 指定元素的个数和类型,再初始化;
// 定义数组
int arr[3];
// 定义后再赋值
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
- 指定元素的类型和个数同时初始化。
// 定义数组 赋值
int arr[3] = {1, 2, 3};
- 指定元素的类型, 不指定个数,并进行初始化。
// 定义数组 不指定个数
int arr[] = {1, 2, 3};
访问数组
通过索引的方式访问。arr[index]
计算数组的长度——sizeof
长度 = sizeof(arr) / sizeof(数组的类型 || arr[index])
字符数组
字符数组(字符串):用来存放字符的数组。
格式占位符: %s
字符数组的结尾都是以 \0 结尾,如果省略,系统自动添加;
如果字符串最后一位被元素占位,系统会寻找最近的 \0 ,然后结束。
字符数组简化写法(最常用):
// 定义字符串
char str[] = "Hello World!"; // 后面自动添加 \0
// 访问字符串
printf("%s", str);
// 访问字符串中某个元素
printf("%c", str[0]);
C语言数组基本知识点总结—— 数组、字符数组
多维数组——二维数组
- 多维数组:如果数组的元素还是数组,这样的数组称为多维数组。
- 二维数组的定义:
// 定义一个二维数组 2行3列
// 方式一:先定义再初始化
int str[2][3];
// 初始化赋值
a[0][0] = 10;
a[0][1] = 20;
a[0][2] = 30;
a[1][0] = 40;
a[1][1] = 50;
a[1][2] = 60;
// 方式二:直接定义同时初始化
int str1[2][3] = {
{10, 20, 30},
{40, 50, 60},
};
// 访问二维数组
// 需要使用两个下标,一个访问行,一个访问列(双重循环遍历二维数组)。
printf("数组第二行第二列的元素是:%d\n", str[1][1]);
- 二维数组的内存分析:在内存中,个元素是连续存放的,不是二维的,是线性的。二维数组元素排列的顺序是按行存放的,先顺序存放第一行的元素,再存放第二行的元素。