C++

C++の配列について解説

C++の配列は、同じデータ型の複数の値を一つの変数名で扱うことができるデータ構造です。配列の要素は連続したメモリ領域に格納され、インデックス(添字)を使用してアクセスします。ここでは、C++の配列について詳しく解説します。

配列の宣言と初期化

配列の宣言

配列を宣言するには、次の構文を使用します。

データ型 配列名[要素数];

int numbers[5];  // 5つの整数を格納できる配列を宣言

配列の初期化

配列を宣言すると同時に初期化することができます。

データ型 配列名[要素数] = {初期値1, 初期値2, 初期値3, ...};

int numbers[5] = {1, 2, 3, 4, 5};  // 5つの整数で初期化

初期化時に要素数を省略することもできます。

int numbers[] = {1, 2, 3, 4, 5};  // コンパイラが要素数を自動的に決定

配列のアクセス

配列の要素にはインデックスを使用してアクセスします。インデックスは0から始まります。

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    // 配列の要素にアクセスして表示
    for (int i = 0; i < 5; ++i) {
        cout << "Element at index " << i << ": " << numbers[i] << endl;
    }

    return 0;
}

配列の操作

配列の要素の変更

配列の要素の値を変更するには、インデックスを使用して値を代入します。

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    // 3番目の要素の値を変更
    numbers[2] = 10;

    // 配列の要素を表示
    for (int i = 0; i < 5; ++i) {
        cout << "Element at index " << i << ": " << numbers[i] << endl;
    }

    return 0;
}

多次元配列

C++では、配列の配列を作成して多次元配列を使用することができます。

2次元配列を宣言し初期化する例です。

#include <iostream>
using namespace std;

int main() {
    // 2次元配列の宣言と初期化
    int matrix[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    // 2次元配列の要素にアクセスして表示
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 3; ++j) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

配列とポインタ

配列名は、配列の先頭要素へのポインタとして使用できます。

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};
    int* ptr = numbers;  // 配列の先頭要素へのポインタを取得

    // ポインタを使用して配列の要素にアクセス
    for (int i = 0; i < 5; ++i) {
        cout << "Element at index " << i << ": " << *(ptr + i) << endl;
    }

    return 0;
}

範囲ベースのforループ

C++11以降では、範囲ベースのforループを使用して配列の要素に簡単にアクセスできます。

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    // 範囲ベースのforループを使用して配列の要素を表示
    for (int num : numbers) {
        cout << num << " ";
    }
    cout << endl;

    return 0;
}

まとめ

C++の配列は、同じデータ型の複数の値を一つの変数名で扱うための便利なデータ構造です。配列の宣言と初期化、配列の要素へのアクセス、配列の操作、多次元配列、配列とポインタ、範囲ベースのforループなど、配列の基本的な使い方を理解することで、効率的なプログラムを書くことができます。

スポンサーリンク

-C++