【带头学C++】----- 1.基础知识[巩固期] ---- 5.2 数组篇

目录

5.2 数组篇

5.2.1一维数组的定义

5.2.2 一维数组的初始化

访问数组元素:

循环遍历数组:

数组的长度:

5.2.3 二维数值(int类型的数字)数组

定义二维数组:

初始化二维数组:

访问二维数组元素:

循环遍历二维数组:

5.2.4 一维字符数组

定义字符数组:

初始化字符数组:

访问字符数组元素:

输出字符数组或将其作为字符串处理:


5.2 数组篇

C++ 中的数组是一种线性、连续的数据结构,它用于存储一系列相同类型的元素。数组在内存中占据一段连续的空间,并且通过索引来访问单个元素。

创建一个数组需要指定元素的类型和数组的大小。数组的大小在创建时是固定的,不能动态改变。

下面是定义和使用数组的一些常见操作:

5.2.1一维数组的定义

int myArray[5]; // 定义一个包含 5 个元素的整型数组
float anotherArray[10]; // 定义一个包含 10 个元素的浮点型数组

5.2.2 一维数组的初始化

int myArray[5] = {1, 2, 3, 4, 5}; // 将数组元素初始化为 1, 2, 3, 4, 5
float anotherArray[3] = {1.1, 2.2, 3.3}; // 将数组元素初始化为 1.1, 2.2, 3.3,注意数组大小与初始化元素个数相等
  1. 访问数组元素:

    int value = myArray[2]; // 访问索引为 2 的元素,即数组的第三个元素
    myArray[0] = 10; // 修改索引为 0 的元素的值
    
  2. 循环遍历数组:

    for (int i = 0; i < 5; i++) {
        cout << myArray[i] << " "; // 输出数组的所有元素
    }
    
  3. 数组的长度:

    int length = sizeof(myArray) / sizeof(myArray[0]); // 获取数组的长度
    

请注意,数组的索引下标(第一个元素的起始位置)从 0 开始。因此,一个大小为 n 的数组的索引范围是 0 到 n-1。

      需要注意的是,C++ 中的数组不会检查索引越界错误。如果访问超出数组范围的索引,可能会导致未定义的行为或程序崩溃。因此,在访问数组元素时,要确保索引的合法性。可以使用循环和条件语句来进行索引边界检查。另外,C++ 也提供了标准库中的容器,如 vector ,它提供了更灵活的动态数组功能,可以根据需要调整大小。

5.2.3 二维数值(int类型的数字)数组

二维数组是数组的一种特殊形式,它代表了一个由行和列组成的表格或网格。在 C++ 中,可以使用二维数组来表示和处理这种结构。

创建和访问二维数组的方法如下:

  1. 定义二维数组:

    int myArray[3][4]; // 定义一个包含 3 行 4 列的整型二维数组
    float anotherArray[2][3]; // 定义一个包含 2 行 3 列的浮点型二维数组
    
  2. 初始化二维数组:

    int myArray[3][4] = {{1, 2, 3, 4},
                         {5, 6, 7, 8},
                         {9, 10, 11, 12}}; // 初始化一个 3 行 4 列的整型二维数组
    float anotherArray[2][3] = {{1.1, 2.2, 3.3},
                                {4.4, 5.5, 6.6}}; // 初始化一个 2 行 3 列的浮点型二维数组
    
  3. 访问二维数组元素:

    int value = myArray[1][2]; // 访问第 2 行第 3 列的元素
    myArray[0][3] = 10; // 修改第 1 行第 4 列的元素的值
    
  4. 循环遍历二维数组:

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << myArray[i][j] << " "; // 输出二维数组的所有元素
        }
        cout << endl; // 在每行结束时换行
    }
    

与一维数组类似,二维数组的索引也是从 0 开始。使用两个索引来访问二维数组元素,第一个索引表示行,第二个索引表示列。

需要注意的是,二维数组的大小在定义时需要指定,行数和列数都是固定的。如果需要处理动态大小的表格或网格,可以使用动态内存分配(如 new/delete 或 malloc/free)或标准库中的容器(如 vector<vector<int>>)来实现。

5.2.4 一维字符数组

一维字符数组是指由字符组成的一维数组,在 C++ 中通常使用字符数组来表示字符串。

创建和操作一维字符数组的方法如下:

  1. 定义字符数组:

    char myArray[10]; // 定义一个包含 10 个字符的字符数组
    
  2. 初始化字符数组:

    char myArray[10] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'}; // 初始化字符数组
    char anotherArray[] = "Hello World"; // 使用字符串常量初始化字符数组
    
  3. 访问字符数组元素:

    char ch = myArray[0]; // 访问数组的第一个元素
    myArray[1] = 'a'; // 修改数组的第二个元素的值
    
  4. 输出字符数组或将其作为字符串处理:

    cout << myArray; // 输出字符数组作为字符串
    for (int i = 0; i < 10; i++) {
        cout << myArray[i]; // 输出字符数组的每个元素
    }
    

需要注意的是,字符数组的最后一个元素通常是空字符 ‘\0’,用于表示字符串的结束。在进行字符串操作时,要确保字符数组以空字符结尾。

此外,C++ 还提供了更加方便和安全的字符串处理方式,比如使用标准库中的 string 类,它提供了丰富的字符串操作方法,避免了字符数组操作的一些繁琐和风险。使用 string 类可以更加方便地处理字符串,包括字符串的拼接、截取、查找等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小白Erike.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值