• 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 条评论

目前还没有评论...