- C
C语言一维数组简单教程
- 2025-3-20 21:42:51 @
一、什么是一维数组
在C语言里,数组是存储相同类型元素的集合,而一维数组可看作是排成一行的数据序列。比如,你要存储一个班级学生的考试成绩,用数组就会比一个个单独定义变量方便得多。
二、一维数组的声明
声明一维数组时,要明确数组元素的类型和数组的大小。基本语法如下:
类型 数组名[数组大小];
下面是具体示例:
int scores[10]; // 声明一个名为 scores 的整型数组,可存储 10 个整数
这里,int
表示数组里的元素是整数类型,scores
是数组的名称,[10]
表明该数组能够容纳 10 个整数。
三、一维数组的初始化
数组声明后,可以对其进行初始化。以下是几种常见的初始化方式:
1. 部分初始化
#include <stdio.h>
int main() {
int numbers[5] = {1, 2}; // 只初始化前两个元素
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
在这个例子中,数组 numbers
仅对前两个元素初始化为 1 和 2,剩余的元素会自动初始化为 0。
2. 完全初始化
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5}; // 完全初始化
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
这里,数组 numbers
的所有元素都被赋予了特定的值。
3. 省略数组大小初始化
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 3, 4, 5}; // 省略数组大小,编译器自动确定
int size = sizeof(numbers) / sizeof(numbers[0]);
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
当省略数组大小时,编译器会依据初始化列表里元素的数量来确定数组的大小。
四、访问一维数组的元素
数组元素可以通过下标来访问,数组下标从 0 开始。例如:
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
printf("第一个元素: %d\n", numbers[0]); // 访问第一个元素
printf("第三个元素: %d\n", numbers[2]); // 访问第三个元素
return 0;
}
在这个示例中,numbers[0]
代表数组的第一个元素,numbers[2]
表示数组的第三个元素。
五、修改一维数组的元素
同样能通过下标来修改数组元素的值。示例如下:
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
numbers[1] = 10; // 修改第二个元素的值
printf("修改后的第二个元素: %d\n", numbers[1]);
return 0;
}
这里,把数组 numbers
的第二个元素(下标为 1)修改成了 10。
六、一维数组作为函数参数
数组可以作为参数传递给函数,以下是一个简单的示例:
#include <stdio.h>
// 函数用于打印数组元素
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
printArray(numbers, 5); // 调用函数打印数组元素
return 0;
}
在这个例子中,printArray
函数接收一个整型数组和数组的大小作为参数,然后将数组的元素打印出来。
七、注意事项
- 数组越界:访问数组时,下标必须在有效范围内(从 0 到数组大小减 1)。若使用超出范围的下标,会导致未定义行为,可能使程序崩溃。
- 数组大小计算:在函数内部,不能直接用
sizeof
计算数组的大小,因为传递给函数的只是数组的首地址。通常需要额外传递数组的大小作为参数。
通过以上内容,你应该对C语言一维数组有了基本的认识。多动手编写相关代码,能更好地掌握一维数组的使用。
0 条评论
目前还没有评论...