主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

C++ 数组


上一章 下一章

C++ 数组存储相同类型元素的固定大小的顺序集合。数组用于存储数据集合,但通常更实用的是将数组视为相同类型的变量集合。

与其声明单个变量,例如 number0, number1, ..., 和 number99,不如声明一个名为 numbers 的数组变量,并使用 numbers[0], numbers[1], ..., numbers[99] 来表示单个变量。数组中的特定元素通过索引来访问。

所有数组都由连续的内存位置组成。最低地址对应于第一个元素,最高地址对应于最后一个元素。

声明数组

要在 C++ 中声明数组,程序员需要指定元素的类型以及数组所需的元素数量,如下所示:

type arrayName[arraySize];

这称为单一维度数组。arraySize 必须是一个大于零的整数常量,而 type 可以是任何有效的 C++ 数据类型。例如,要声明一个名为 balance 的双精度浮点类型 10 元素数组,可以使用以下语句:

double balance[10];

初始化数组

您可以逐一初始化 C++ 数组元素,或者使用单个语句如下:

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

花括号 { } 中的值的数量不能大于方括号 [ ] 中声明的数组元素数量。以下是分配单个数组元素的示例:

balance[4] = 50.0;

以上语句将数组第 5 个元素的值设置为 50.0。数组的第 4 个索引将是第 5 个元素,即最后一个元素,因为所有数组的第一个元素索引都是 0,也称为基索引。以下是前面讨论过的数组的图形表示:

Array Presentation

访问数组元素

通过索引数组名称来访问元素。这是通过在数组名称后放置元素索引的方括号完成的。例如:

double salary = balance[9];

以上语句会从数组中取出第 10 个元素并将该值赋给 salary 变量。以下是一个示例,它使用了上述三个概念:声明、赋值和访问数组:

示例

在以下示例中,我们声明了一个数组,向数组赋值,然后访问数组元素:

#include <iostream>
using namespace std;

#include <iomanip>
using std::setw;

int main () {

   int n[ 10 ]; // n 是一个包含 10 个整数的数组

   // 初始化数组 n 的元素为 0          
   for ( int i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; // 设置索引为 i 的元素为 i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;

   // 输出每个数组元素的值                      
   for ( int j = 0; j < 10; j++ ) {
      cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
   }

   return 0;
}

此程序使用了 setw() 函数来格式化输出。当以上代码编译并执行时,会产生以下结果:

Element        Value
      0          100
      1          101
      2          102
      3          103
      4          104
      5          105
      6          106
      7          107
      8          108
      9          109

获取数组长度

要获取数组的长度,您可以使用 sizeof() 操作符,通过将数组大小除以数组元素的大小。

考虑以下语法:

length = sizeof(arr) / sizeof(arr[0]);

示例

在以下示例中,我们定义了一个数组并找到了其长度:

#include <iostream>
using namespace std;

int main() {
  int arr[] = {10, 20, 30, 40, 50};
  int arr_length = sizeof(arr) / sizeof(arr[0]);

  cout << "Array's Length : " << arr_length;

  return 0;
}

输出:

Array's Length : 5

更改数组元素

您可以通过指定其索引并分配新值来更改数组元素的值。

示例

在以下示例中,我们正在更改索引 2 处的值:

#include <iostream>
using namespace std;

int main() {
  int arr[] = {10, 20, 30, 40, 50};

  cout << "Before changing, element at index 2: " << arr[2] << endl;

  // 改变值
  arr[2] = 108;

  cout << "After changing, element at index 2: " << arr[2] << endl;

  return 0;
}

输出:

Before changing, element at index 2: 30
After changing, element at index 2: 108

更多关于 C++ 数组的内容

数组对 C++ 来说很重要,应该有更多的细节。以下是 C++ 程序员应该清楚的一些重要概念:

序号 概念 & 描述
1 多维数组
2 指向数组的指针
3 向函数传递数组
4 从函数返回数组
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图