C 数组
数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
要创建数组,请定义数据类型(例如 int
)并指定数组的名称,后跟 方括号 [].
要向其中插入值,请使用花括号内的逗号分隔列表:
int myNumbers[] = {25, 50, 75, 100};
现在我们已经创建了一个包含四个整数数组的变量。
访问数组的元素
要访问数组元素,请参考其 索引号.
数组索引以 0:[0] 是第一个元素。[1] 是第二个元素,等等。
此语句访问 第一个元素 [0] 在myNumbers
:
更改数组元素
要更改特定元素的值,请参考索引号:
例子
我的数字[0] = 33;
例子
int myNumbers[] = {25, 50, 75, 100};
我的数字[0] = 33;
printf("%d", myNumbers[0]);
// 现在输出 33 而不是 25
亲自尝试 »
循环遍历数组
您可以使用以下方式循环遍历数组元素 for
环形。
以下示例输出 myNumbers
大批:
例子
int myNumbers[] = {25, 50, 75, 100};
int 我;
对于(i = 0;i < 4;i++){
printf("%d\n", myNumbers[i]);
}
亲自尝试 »
设置数组大小
创建数组的另一种常见方法是指定数组的大小,然后添加元素:
使用这种方法, 你应该提前知道数组元素的数量,以便程序存储足够的内存。
创建数组后,您无法更改其大小。
获取数组大小或长度
要获取数组的大小,可以使用 sizeof
操作员:
为什么结果显示 20
代替5
,当数组包含 5 个元素时?
— 这是因为 sizeof
运算符返回类型的大小字节.
您从中学到 数据类型章节 那int
类型通常为 4 个字节,因此从上面的例子来看,4 x 5(4 字节 x 5 个元素) = 20 字节.
当您使用需要良好内存管理的大型程序时,了解数组的内存大小非常有用。
但是当您只想知道数组有多少个元素时,可以使用以下公式(将数组的大小除以一个数组元素的大小):
例子
int myNumbers[] = {10, 25, 50, 75, 100};
int 长度 = 大小 (myNumbers) / 大小 (myNumbers[0]);
printf("%d", length); // 打印 5
亲自尝试 »
制作更好的循环
在里面 数组循环部分 上面我们在循环条件中写入了数组的大小(i < 4
)。这并不理想,因为它只适用于指定大小的数组。
然而,通过使用 sizeof
通过上面例子中的公式,我们现在可以创建适用于任意大小数组的循环,这更具可持续性。
不要这样写:
例子
int myNumbers[] = {25, 50, 75, 100};
int 我;
对于(i = 0;i < 4;i++){
printf("%d\n", myNumbers[i]);
}
亲自尝试 »
更好的写法是:
例子
int myNumbers[] = {25, 50, 75, 100};
int 长度 = sizeof(myNumbers) / sizeof(myNumbers[0]);
int 我;
对于(i = 0;i < 长度;i++){
printf("%d\n", myNumbers[i]);
}
亲自尝试 »
现实生活中的例子
为了演示使用数组的实际例子,让我们创建一个计算不同年龄平均值的程序:
例子
// 存储不同年龄的数组
int 年龄[] = {20, 22, 18, 35, 48, 26, 87, 70};
浮点平均值,总和= 0;
int 我;
// 获取数组的长度
int 长度 = sizeof(年龄) / sizeof(年龄[0]);
// 循环遍历数组元素
对于(int i = 0; i < 长度; i++){
总和 += 年龄[i];
}
// 通过将总和除以长度来计算平均值
平均值=总和/长度;
// 打印平均值
printf("平均年龄为:%.2f", avg);
亲自尝试 »