亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 数组完全指南:声明、初始化、多维数组与指针技巧

什么是数组?

在 C++ 中,数组是固定大小、连续内存块,存储相同数据类型的元素。可视为单个变量代表一组值,每个值通过从 0 开始的索引访问。

数组通过将相关值分组简化数据处理,支持高效遍历、随机访问和批量操作。

为什么使用数组?

数组提供:

声明数组

语法:

type arrayName[arraySize];

示例:int age[5]; 创建可容纳 5 个整数的空间。

初始化数组

可在声明时赋值,也可后续赋值:

int age[5] = {19, 18, 21, 20, 17};

省略 arraySize 让编译器推断大小:

int age[] = {19, 18, 21, 20, 17};

通过索引单独赋值:

age[3] = 20; // 第 4 个元素

数组类型

一维数组

标准线性存储:

int age[5] = {19, 18, 21, 20, 17};

遍历示例:

#include <iostream>
using namespace std;
int main() {
    int age[5] = {19, 18, 21, 20, 17};
    for (int i = 0; i < 5; ++i) {
        cout << age[i] << "\n";
    }
    return 0;
}

输出:

C++ 数组完全指南:声明、初始化、多维数组与指针技巧

二维数组(矩阵)

语法:type arrayName[rows][cols];

int matrix[2][3] = {{0, 2, 1}, {4, 3, 7}};

访问方式:matrix[row][col]。遍历示例:

#include <iostream>
using namespace std;
int main() {
    int a[3][2] = {{0, 2}, {1, 4}, {3, 7}};
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
            cout << "a[" << i <<"] [" << j <<"] = " << a[i][j] << endl;
        }
    }
    return 0;
}

输出:

C++ 数组完全指南:声明、初始化、多维数组与指针技巧

三维数组

演示立方体数据结构:

#include <iostream>
using namespace std;
int main() {
    int a[2][3][2] = { {{4, 8}, {2, 4}, {1, 6}}, {{3, 6}, {5, 4}, {9, 3}} };
    cout << "a[0][1][0] = " << a[0][1][0] << "\n";
    cout << "a[0][1][1] = " << a[0][1][1] << "\n";
    return 0;
}

输出:

C++ 数组完全指南:声明、初始化、多维数组与指针技巧

数组指针

数组名会退化为指向首元素的指针。示例:

#include <iostream>
using namespace std;
int main() {
    int age[5] = {19, 18, 21, 20, 17};
    int *p = age; // p 指向 age[0]
    cout << "Address: " << p << "\n";
    cout << "First value: " << *p << "\n";
    return 0;
}

指针算术访问:

for (int i = 0; i < 5; ++i) {
    cout << "*(p + " << i <<") = " << *(p + i) << endl;
}

访问元素

使用下标运算符 [ ]:

int john = age[2]; // 第三个元素

完整示例:

#include <iostream>
using namespace std;
int main() {
    int age[5] = {19, 18, 21, 20, 17};
    int john = age[2];
    cout << "The age of John is: " << john;
    return 0;
}

C++ 数组的优点

C++ 数组的缺点

总结

C语言

  1. 掌握 C# 数组:声明、初始化与核心操作完全指南
  2. C++数组传递给函数实战指南
  3. C++ do-while 循环详解:语法、实战示例与嵌套循环
  4. C++ 动态数组分配实战指南:new/delete、初始化、扩容与内存管理
  5. C++ 指针精通:核心概念、代码示例与实战应用
  6. C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
  7. C++ 运算符重载实战指南:语法、方法、限制与代码示例
  8. C++ 函数详解:从声明到调用的实战指南
  9. C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
  10. MATLAB 多维数组与特殊数组完全指南
  11. Java 数组复制技术:全面指南
  12. Java 数组教程:声明、创建、初始化与示例代码