ここでは、C++プログラムにおいて複数のデータを一度に扱うことができるデータ構造である配列について解説します。

概要

編集

配列とは、同じデータ型の複数の要素を一つの変数としてまとめたものです。配列を使用することで、同じ種類のデータを効率的に管理し、処理することができます。配列の各要素はインデックス(添字)を使ってアクセスされます。

配列の宣言と初期化

編集

配列を使用するには、まず配列を宣言し、必要に応じて初期化します。配列のサイズ(要素数)は、宣言時に指定します。

次に、整数型の配列を宣言し、初期化する例を示します。

// 配列の宣言と初期化
#include<iostream>

auto main() -> int {
    int numbers[5] = {1, 2, 3, 4, 5}; // 配列の宣言と初期化

    for (int i = 0; i < 5; i++) {
        std::cout << "numbers[" << i << "] = " << numbers[i] << std::endl;
    }

    return 0;
}

このプログラムでは、5つの要素を持つnumbersという配列を宣言し、初期化しています。そして、forループを使って各要素を順に出力します。

配列へのアクセス

編集

配列の各要素には、インデックス(添字)を使用してアクセスします。インデックスは0から始まり、配列のサイズ-1までの範囲です。

以下に、配列要素にアクセスして値を変更する例を示します。

// 配列へのアクセス
#include<iostream>

auto main() -> int {
    int numbers[3] = {10, 20, 30};

    numbers[1] = 50; // 2番目の要素を変更

    for (int i = 0; i < 3; i++) {
        std::cout << "numbers[" << i << "] = " << numbers[i] << std::endl;
    }

    return 0;
}

このプログラムでは、numbers配列の2番目の要素を50に変更し、再度全ての要素を出力しています。

多次元配列

編集

C++では、配列の中に配列を持つ多次元配列を宣言することもできます。2次元配列や3次元配列を使用すると、行列や立体のようなデータ構造を扱うことができます。

次に、2次元配列を使用した例を示します。

// 2次元配列の例
#include<iostream>

auto main() -> int {
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            std::cout << "matrix[" << i << "][" << j << "] = " << matrix[i][j] << std::endl;
        }
    }

    return 0;
}

このプログラムでは、2行3列のmatrixという2次元配列を宣言し、各要素を出力しています。

配列の限界

編集

配列にはサイズが固定されているという制約があります。サイズを変更する必要がある場合や動的に配列を管理する場合は、std::vectorなどのコンテナクラスを使うことを検討する必要があります。

まとめ

編集

配列は、同じデータ型の複数の要素を効率的に管理するための基本的なデータ構造です。配列を使うことで、データの管理や処理が容易になり、特に大量のデータを扱う場合に役立ちます。しかし、固定サイズであるため、必要に応じて他のデータ構造と組み合わせて使うことが重要です。