月ノ書

<C++>配列

今回の記事でわかること
  • 配列の基本的な使い方がわかる
  • 配列の要素へのアクセス方法がわかる
  • 配列の長さを求める方法がわかる
  • std::array や std::vector の違いが分かる

配列とは

プログラムで「同じ型のデータをまとめて管理したい」ときに使います。例えば、テストの点数を30人分まとめて扱いたい場合や、日ごとの売り上げデータを並べたい場合などに便利です

変数を30個書くのは大変ですが、配列を使えば一括で扱えます

配列の宣言と初期化

#include <iostream>
using namespace std;

int main() {
    int scores[5] = {90, 80, 70, 60, 50};

    for (int i = 0; i < 5; i++) {
        cout << "scores[" << i << "] = " << scores[i] << endl;
    }
    return 0;
}

/* 出力結果
scores[0] = 90
scores[1] = 80
scores[2] = 70
scores[3] = 60
scores[4] = 50
*/

int score[5]; のように宣言すると「要素数5の配列」になります。インデックスは0から始まるという決まりがあるため、最後は4になります

配列の長さを決める

C++ の組み込む配列は長さを自動で持たないため、自分で計算する必要があります

int scores[] = {90, 80, 70};
int len = sizeof(scores) / sizeof(scores[0]);
cout << "len = " << len << endl;

/* 出力結果
len = 3
*/

標準ライブラリの配列

std::array(固定長配列)

C++11 以降は std::array が推奨されています。固定長だけど、メソッドが使えるため便利です

#include <iostream>
#include <array>
using namespace std;

int main() {
    array<int, 3> scores = {90, 80, 70};
    for (int s : scores) {
        cout << s << endl;
    }
    cout << "size = " << scores.size() << endl;
}

std::vector(可変長配列)

サイズを自由に増減できる配列。現代 C++ では一番よく使われています

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> scores = {90, 80};
    scores.push_back(70);   // 要素を追加
    scores.push_back(60);

    for (int s : scores) {
        cout << s << endl;
    }
    cout << "size = " << scores.size() << endl;
}

/* 出力結果
90
80
70
60
size = 4
 */

配列の使い分け

種類特徴
組み込み配列高速でシンプル、ただしサイズ変更不可
std::array固定長、安全に使える、便利な関数あり
std::vector可変長、現代 C++ で主流

実用パターン

合計・平均を求める

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> scores = {80, 90, 100};
    int sum = 0;
    for (int s : scores) sum += s;
    double avg = (double)sum / scores.size();

    cout << "sum=" << sum << ", avg=" << avg << endl;
}

/* 出力結果
sum=270, avg=90
*/

学習進捗

0
Would love your thoughts, please comment.x