前言
C语言的数组与字符串学习笔记
数组的特点
- 数组下标从0开始
- 数组所有成员在内存中是连续的
- 数组所有成员的数据类型相同
- 数组名在C语言中实际上是数组第一个元素的地址常量
一维数组
定义数组
数组初始化
1
| 数据类型 变量名[数组长度] = { 数据, 数据, ... };
|
- 这种情况下如果数据的长度没有达到数组长度,其他后续的下标位置的元素都为默认值(int类型的默认值为0)
初始化为默认值
通过数据定义长度
1
| 数据类型 变量名[] = { 数据, 数据, ... };
|
修改数组的数据
遍历数组
sizeof(数组名)
:数组整体大小
sizeof(数组名[0])
:数组一个成员的大小
sizeof(数组名)/sizeof(数组名[0])
:数组成员个数
1 2 3 4 5
| int i; for (i = 0; i < sizeof(数组名)/sizeof(数组名[0]); i++) { ... }
|
二维数组
定义数组
数组初始化
1
| 数据类型 变量名[数组长度][数组长度] = { { 数据, 数据, ... }, { 数据, 数据, ... }, ... };
|
- 这种情况下如果数据的长度没有达到数组长度,其他后续的下标位置的元素都为默认值(int类型的默认值
为0
初始化为默认值
1
| int 变量名[数组长度][数组长度] = { 0 };
|
通过数据定义长度
1
| 数据类型 变量名[][数组长度] = { { 数据, 数据, ... }, { 数据, 数据, ... }, ... };
|
修改数组数据
遍历数组
1 2 3 4 5 6 7 8
| int i, j; for (i = 0; i < sizeof(数组名)/sizeof(数组名[0]); i++) { for (j = 0; j < sizeof(数组名[0])/sizeof(数组名[0][0]); j++) { ... } }
|
完成