C++ 数组

C++ 数组

C++ 提供了一个数据结构, 数组 ,它可以存储一系列固定大小和相同类型的元素。数组用于存储数据的集合,但更常用的是将数组视为相同类型的变量的集合。

与声明个别变量(例如number0,number1,…,number99)不同,您可以声明一个数组变量(例如numbers),并使用numbers [0],numbers [1],…,numbers [99]来表示个别变量。通过索引访问数组中的特定元素。

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

声明数组

要在C++中声明一个数组,程序员需要指定元素的类型和数组所需的元素数量,如下所示 −

type arrayName [ arraySize ];

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

double balance[10];

初始化数组

您可以逐个初始化C++数组元素,也可以使用以下单个语句进行初始化:

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

大括号 { } 内的值数量不能大于方括号 [ ] 内声明的数组元素数量。以下是将数组的单个元素赋值的示例 −

如果省略数组的大小,将创建一个足够容纳初始化的数组。因此,如果编写如下语句 −

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

您将创建与之前示例中相同的数组。

balance[4] = 50.0;

以上声明将数组a中的第5个元素赋值为50.0. 数组的第4个索引将是第5个,即最后一个元素,因为所有数组的第一个元素的索引都是0,也称为基索引。以下是我们上面讨论的相同数组的图示表示-

C++ 数组

访问数组元素

通过索引数组名来访问元素。在数组名后面的方括号内放置元素的索引来实现。例如 –

double salary = balance[9];

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

#include <iostream>
using namespace std;

#include <iomanip>
using std::setw;

int main () {

   int n[ 10 ]; // n is an array of 10 integers

   // initialize elements of array n to 0          
   for ( int i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; // set element at location i to i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;

   // output each array element's value                      
   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

C++中的数组

数组对于C++来说非常重要,需要更多的详细说明。下面是几个对于C++程序员来说很重要的概念,应该清楚理解:

序号 概念和描述
1 多维数组 C++支持多维数组。最简单的多维数组形式是二维数组。
2 指向数组的指针 可以通过指定数组名而不带任何索引来生成指向数组第一个元素的指针。
3 将数组作为参数传递给函数 可以通过指定数组的名称而不带索引来将指向数组的指针传递给函数。
4 从函数返回数组 C++允许函数返回一个数组。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程