工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++配列完全ガイド:宣言、初期化、アクセス、実践例

C++ 配列

このチュートリアルでは、C++配列の宣言、初期化、アクセス、操作を実践的なコード例で解説します。

C++において配列は、同じ型の要素を固定サイズで格納する単一の変数です。例えば、27人の学生がいるクラスで成績を管理する場合:

double grade[27];

ここでは grade が最大27個の double 値を保持できます。一度宣言すると、配列のサイズと要素型は変更できません。


C++ 配列の宣言

dataType arrayName[arraySize];

例:

int x[6];

解説:


C++ 配列要素へのアクセス

各配列要素はインデックスで識別され、0から始まります。要素の取得・変更には:

// 配列要素へのアクセス構文
array[index];

上記の配列 x を考えます。

C++配列完全ガイド:宣言、初期化、アクセス、実践例

重要ポイント


C++ 配列の初期化

配列は宣言時に初期化できます:

// 配列の宣言と初期化
int x[6] = {19, 10, 8, 17, 9, 15};
C++配列完全ガイド:宣言、初期化、アクセス、実践例

または、コンパイラにサイズを推測させることもできます:

// 配列の宣言と初期化
int x[] = {19, 10, 8, 17, 9, 15};

提供される要素数が配列サイズより少ない場合、残りの要素はC++ではゼロ初期化されます。

C++配列完全ガイド:宣言、初期化、アクセス、実践例

配列要素の挿入と出力

int mark[5] = {19, 10, 8, 17, 9};
// 4番目の要素を9に変更
mark[3] = 9;
// ユーザー入力を受け取り3番目の位置に格納
cin >> mark[2];
// ユーザー入力を受け取りi番目の位置に挿入
cin >> mark[i-1];
// 最初の要素を出力
cout << mark[0];
// i番目の要素を出力
cout >> mark[i-1];

実例 1: 配列要素の表示

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {7, 5, 6, 12, 35};
    cout << "The numbers are: ";

    // 範囲ベースforループで配列要素を出力
    for (const int &n : numbers) {
        cout << n << " ";
    }
    cout << "\nThe numbers are: ";

    // 従来のforループで配列要素を出力
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << " ";
    }
    return 0;
}

出力

The numbers are: 7 5 6 12 35
The numbers are: 7 5 6 12 35

両ループで同じ結果になります。値の読み取りのみなら範囲ベースループが推奨されます。不要なコピーを避けられるためです。

注意: const int &n を使う方が int n より効率的です。参照渡しで偶発的な変更も防げるためです。


実例 2: ユーザー入力を配列に読み込む

#include <iostream>
using namespace std;

int main() {
    int numbers[5];
    cout << "Enter 5 numbers: " << endl;

    // ユーザー入力を配列に格納
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }

    cout << "The numbers are: ";
    // 配列要素を出力
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << " ";
    }
    return 0;
}

出力

Enter 5 numbers:
11 12 13 14 15
The numbers are: 11 12 13 14 15

実例 3: 配列要素の合計と平均

#include <iostream>
using namespace std;

int main() {
    double numbers[] = {7, 5, 6, 12, 35, 27};
    double sum = 0;
    double count = 0;
    double average;

    cout << "The numbers are: ";

    // 範囲ベースforループで要素を出力し合計を計算
    for (const double &n : numbers) {
        cout << n << " ";
        sum += n;
        ++count;
    }

    cout << "\nTheir Sum = " << sum << endl;
    average = sum / count;
    cout << "Their Average = " << average << endl;
    return 0;
}

出力

The numbers are: 7 5 6 12 35 27
Their Sum = 92
Their Average = 15.3333

この例は、コンパイル時に配列サイズが不明な場合でも、範囲ベースループが走査を簡素化することを示しています。


C++ 配列の境界外アクセス

サイズ 10 の配列では、有効なインデックスは 0 から 9 です。インデックス 10 以上にアクセスすると未定義動作を引き起こし、クラッシュやデータ破損として現れる可能性があります。

C言語

  1. C# 配列をマスターする:宣言、初期化、操作
  2. C# 多次元配列:2次元配列をコード例で徹底解説
  3. C# ジャグ配列をマスターする:宣言、初期化、アクセス
  4. C++型変換完全ガイド:暗黙・明示変換とキャスト技法
  5. C++演算子完全ガイド:算術・代入・関係・論理・ビット演算子と実例
  6. C++コメント完全ガイド:読みやすく保守しやすいコードのためのベストプラクティス
  7. C++配列を関数に渡す完全ガイド:1次元・多次元配列の実例付き
  8. C++配列を徹底解説:宣言、初期化、ポインタ活用テクニック
  9. C++動的配列の確保をマスター:コード例付き実践ガイド
  10. MATLAB:多次元配列と特殊配列をマスターする
  11. Java配列コピー技法:包括的ガイド