C++ 数组

C++ 支持 数组 数据结构,它可以存储一个固定大小的相同类型元素的顺序集合

数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量

数组的声明并不是声明一个个单独的变量,比如

number0、number1、...、number99

而是声明一个数组变量,比如 numbers,然后使用

numbers[0]、numbers[1]、...、numbers[99]

来代表一个个单独的变量

数组中的特定元素可以通过索引访问

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

声明数组

C++ 中声明一个数组,需要指定元素的类型和元素的数量

type arrayName [ arraySize ];
  1. arraySize 必须是一个大于零的整数常量
  2. type 可以是任意有效的 C++ 数据类型

例如,要声明一个类型为 double 的包含 5 个元素的数组 grade ,声明语句如下:

double grade[5];

现在 grade 是一个可用的数组,可以容纳 5 个类型为 double 的数字

初始化数组

C++ 中可以逐个初始化数组

double grade[5];

grade[0] = 88.0;
grade[1] = 59.5;
grade[2] = 32.5;
grade[3] = 99.0;
grade[4] = 100.0;

也可以使用一个初始化语句

double grade[5] = {88.0, 59.5, 32.5, 99.0, 100.0};

大括号 {} 之间的值的数目不能大于我们在数组声明时在方括号 [] 中指定的元素数目

如果省略掉了数组的大小,数组的大小则为初始化时元素的个数

double grade[] = {88.0, 59.5, 32.5, 99.0, 100.0};

将创建一个数组,它与前一个范例中所创建的数组是完全相同的

创建完数组后,我们还可以使用下标索引给数组添加值或者替换相应下标的值

grade[4] = 99.5;

这条语句把数组中第五个元素的值赋为 99.5

所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引

数组的最后一个索引是数组的总大小减去 1

下图列出了我们 grade 数组在内存中的一般存储形式

数组表示

访问数组元素

数组元素可以通过数组名称加索引进行访问

元素的索引是放在方括号内,跟在数组名称的后边

double point = grade[3];

这条语句把数组中第 4 个元素的值赋给 point变量

范例

我们写一个范例来演示下如何声明数组、数组赋值、访问数组

/**
 * file: main.cpp
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <iostream>
#include <iomanip>

using std::setw;

const int LEN = 10;

int main ()
{
    int arr[ LEN ]; // arr 是一个包含 10 个整数的数组

    // 初始化数组元素          
    for ( int i = 0; i < LEN; i++ )
    {
        arr[ i ] = i + 128; // 设置元素 i 为 i + 128
    }

    std::cout << "Element" << std::setw( 13 ) << "Value" << std::endl;

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

    return 0;
}

setw() 函数用于格式化输出

编译和运行以上范例,输出结果如下

Element        Value
      0          128
      1          129
      2          130
      3          131
      4          132
      5          133
      6          134
      7          135
      8          136
      9          137

C++ 中数组

数组作为 C++ 中最重要的数据结构,有着非常重要的作用,有很多使用场景

概念 描述
多维数组 C++ 支持多维数组。多维数组最简单的形式是二维数组
传递数组给函数 通过指定不带索引的数组名称来给函数传递一个数组
函数返回数组 函数返回数组

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.