您的位置:

C++数组声明:实现存储和操作一组同类型数据

一、数组概述

C++中的数组是一种存储固定大小、同类型元素的数据结构。数组声明后会在内存中申请一块连续的空间,每个元素占用一定字节数的大小。数组适用于需要存储大量数据且数据类型相同的场景,可以方便地访问和操作数组中的元素。

二、声明和初始化数组

在C++中,声明数组需要指定数组的类型和大小。数组大小可以是一个常量、变量或者表达式,但必须是正整数。下面是一个声明和初始化数组的示例代码:

// 声明一个大小为5的整型数组
int arr[5];

// 初始化整型数组元素
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;

// 声明和初始化整型数组
int brr[5] = {1, 2, 3, 4, 5};

数组的初始化可以使用花括号{},用逗号分隔各个元素的值。如果初始化值少于数组大小,未初始化的元素会被设置为默认值(0或者null)。如果初始化值多于数组大小,会出现编译错误。

三、数组元素访问

数组元素的访问方式为数组名加上方括号[]和元素的下标。数组下标从0开始,到数组大小减1结束。通过数组元素访问方式,我们可以读取或者修改数组元素的值。下面是一个访问数组元素的示例代码:

int arr[5] = {1, 2, 3, 4, 5};
cout << arr[0] << endl; // 输出1
arr[0] = 10;
cout << arr[0] << endl; // 输出10

四、多维数组

除了一维数组,C++也支持多维数组。声明一个多维数组需要指定每个维度的大小。下面是一个二维数组的声明和初始化的示例代码:

int arr[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

多维数组的元素访问方式是通过多个数组下标的组合来访问。例如arr[1][2]表示数组中第二行第三列的元素。

五、数组作为函数参数

在函数声明中,可以使用数组作为参数来传递一组数据。C++中的数组作为函数参数传递时,实际上传递的是数组的首地址。下面是一个函数中使用数组作为参数的示例:

// 计算数组中元素的平均值
double average(int arr[], int size) {
    int sum = 0;
    for(int i = 0; i < size; ++i) {
        sum += arr[i];
    }
    return static_cast(sum) / size;
}

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    double avg = average(arr, 5);
    cout << "平均值为:" << avg << endl;
    return 0;
}

  

六、动态分配数组

C++中还可以使用new运算符动态分配内存来创建一个数组。动态分配的数组可以在程序执行过程中动态地改变大小,但需要手动释放内存避免内存泄漏。下面是一个动态分配整型数组的示例:

int size = 5;
int *arr = new int[size];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
delete[] arr; //释放内存

七、总结

数组是C++中最基本的数据结构之一,常用于存储一组相同类型的数据。数组可以通过下标访问元素,也可以作为函数参数传递。多维数组可以用于存储表格等数据结构,而动态分配数组可以动态地改变数组大小。合理的使用数组可以让程序更加简洁高效。