C++ 配列
C++ がサポート配列配列は、同じ型の要素を固定サイズで順番に格納するデータ構造です。配列は一連のデータを格納するために使用されますが、多くの場合、同じ型の変数の集まりと見なされます。
配列の宣言は、number0、number1、...、number99 のように個々の変数を宣言するのではなく、numbers のような配列変数を宣言し、numbers
すべての配列は連続したメモリ位置で構成されています。最も低いアドレスが最初の要素に対応し、最も高いアドレスが最後の要素に対応します。
配列の宣言
C++ で配列を宣言するには、要素の型と要素数を指定する必要があります。次に示すとおりです:
type arrayName [ arraySize ];
これは1次元配列と呼ばれます。arraySizeこれは0より大きい整数定数でなければなりません。type任意の有効な C++ データ型を使用できます。例えば、型が double で10個の要素を含む配列を宣言するにはbalance、宣言文は次のとおりです:
double balance[10];
これでbalanceは使用可能な配列であり、10個の double 型の数値を格納できます。
配列の初期化
C++ では、配列を要素ごとに初期化することも、次のような初期化文を使用することもできます:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
波括弧 { } で囲まれた値の数は、配列宣言時に角括弧 [ ] で指定した要素数を超えることはできません。
配列のサイズを省略した場合、配列のサイズは初期化時の要素数になります。したがって、次の場合:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
前の例で作成した配列とまったく同じ配列が作成されます。次は、配列の特定の要素に値を代入する例です:
balance[4] = 50.0;
上記の文は、配列の5番目の要素の値を50.0に設定します。すべての配列は最初の要素のインデックスとして0を使用し、これは基底インデックスとも呼ばれます。配列の最後のインデックスは配列の総サイズから1を引いたものです。以下は、上記で説明した配列の図による表現です:
配列要素へのアクセス
配列要素は、配列名とインデックスを使用してアクセスできます。要素のインデックスは角括弧内に置き、配列名の後ろに続けます。例えば:
double salary = balance[9];
上記の文は、配列の10番目の要素の値を salary 変数に代入します。次の例では、上記の3つの概念、すなわち配列の宣言、配列への代入、配列へのアクセスを使用しています:
例
上記のプログラムは次を使用しています:setw() 関数出力をフォーマットします。上記のコードがコンパイルおよび実行されると、次の結果が生成されます:
Element Value
0 100
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109
C++における配列の詳細
C++ では、配列は非常に重要であり、配列に関する詳細をより深く理解する必要があります。以下に、C++ プログラマーが必ず理解しておくべき配列関連の重要な概念を示します:
| 概念 | 説明 |
|---|---|
| 多次元配列 | C++ は多次元配列をサポートしています。多次元配列の最も単純な形式は2次元配列です。 |
| 配列を指すポインタ | インデックスを付けずに配列名を指定することで、配列の最初の要素を指すポインタを生成できます。 |
| 関数への配列の受け渡し | インデックスを付けずに配列名を指定することで、配列を指すポインタを関数に渡すことができます。 |
| 関数から配列を返す | C++ では、関数から配列を返すことができます。 |