数组的概念
数组是一种存储具有相同数据类型数据的集合,数组的每个成员被称为数组的元素
(数组的索引是从0开始的) 视图:
数组中“[]”(方括号)的个数表示数组的维数,根据维数的不同,可将数组分为一维数组、二维数组、三围数组等(二维及以上的数组称为多维数组)
一维数组的定义与初始化
定义
一维数组也称为向量,是指只有一个索引的数组,用于组织具有一维顺序关系的一组同类型数据。定义一维数组的语法格式为:
类型说明符 数组名 [常量表达式]
上述格式中:类型说明符表示数组中所有元素的类型;常量表达式是指数组的长度或大小,即数组中存放的元素个数,示例代码:
int arr[5]
注意:数组占据的内存空间是连续的,这样很容易计算数组占据的内存大小和每个元素对应的内存起始地址
初始化
1.直接为数组的所有元素赋值,示例代码:
int arr[5] = {1,2,3,4,5};
2.只为数组的部分元素赋值,示例代码:
int arr[5] = {1,2,3} #其它未赋值的元素的值默认为0
3.为数组中的全部元素赋值,但不指定数组的长度。示例代码:
int arr[] = {1,2,3,4} #因为arr数组中有4个元素,故arr数组的长度为4
使用数组的注意事项:
<1> 数组的索引使用[] (方括号),而不是“()”圆括号
<2> 数据类型可以是int、float、char等基本数据类型,也可以是指针、结构体等数据类型
<3> 数组名的命名规则与变量名的命名规则相同
一维数据元素的引用
数组中元素都是有编号的,这个编号称为数组元素的索引,用于表示元素在数组中的位置。数组元素的索引从0开始,依次递增,直到最后一个元素。语法格式:
数组名[索引] # 索引表示数组的位置,通过索引可以访问数组中任意位置的元素
通过对某个索引对应的数据进行赋值可以更改数组元素的值。示例代码:
arr[2] = 100
注意:访问数组中元素时,索引不能超出其范围,否则程序会报错
案例实现:
#include <stdio.h>
int main() {
// 定义存储100个士兵编号的int数组
int soldier[100];
// 用循环给数组赋值(这里假设编号从1到100)
for (int i = 0; i < 100; i++) {
soldier[i] = i + 1; // 编号为i+1
}
// 用循环输出数组,每10个元素换行
printf("士兵编号如下:\n");
for (int i = 0; i < 100; i++) {
printf("%d\t", soldier[i]); // 输出编号,用制表符分隔
// 索引+1对10取模为0时换行
if ((i + 1) % 10 == 0) {
printf("\n");
}
}
return 0;
}
运行结果: