C/C++の配列とは?宣言・初期化・要素へのアクセス方法を徹底解説
配列(Array)とは、同じ型の要素を連続的に並べてまとめたデータ構造です。配列は複数のデータを一括して格納するために使われますが、実務上は「同じ型の変数をまとめた集合」と捉えると理解しやすくなります。
例えば、number0、number1、…、number99 のように個別の変数を100個宣言する代わりに、numbers という1つの配列変数を宣言し、numbers[0]、numbers[1]、…、numbers[99] として個々の変数を表すことができます。配列内の特定の要素には、インデックス(添字)を使ってアクセスします。
すべての配列はメモリ上の連続した領域で構成されています。先頭の要素が最も低いアドレスに配置され、最後の要素が最も高いアドレスに配置されます。
配列の宣言方法
配列を宣言するには、要素の型と配列に必要な要素数を次のように指定します。
type arrayName [ arraySize ];
サイズを指定して配列を宣言する
これは「1次元配列」と呼ばれる形式です。arraySize には0より大きい整数定数を指定し、type には任意の有効なC++のデータ型を指定できます。例えば、double 型の要素を10個持つ balance という配列を宣言するには、次のステートメントを使用します。
double balance[10];
配列の要素とアクセス方法
配列内の個々のデータは「配列の要素」と呼ばれます。配列の要素には、インデックスを使ってアクセスできます。
上記のように mark という配列を宣言した場合、最初の要素は mark[0]、2番目の要素は mark[1] となります。配列のインデックスは必ず 0 から始まる点に注意しましょう。
C++で配列を初期化する方法
サイズを指定して要素を初期化する宣言
int mark[5] = {19, 10, 8, 17, 9};要素の初期化のみで配列を宣言する
int mark[] = {19, 10, 8, 17, 9};この場合、配列のサイズは初期化子の数から自動的に決定されます。各要素の値は以下のようになります。
mark[0] は 19、mark[1] は 10、mark[2] は 8、mark[3] は 17、mark[4] は 9
配列要素の挿入と表示方法
配列の要素への値の代入や、ユーザーからの入力、要素の表示は次のように行います。
int mark[5] = {19, 10, 8, 17, 9};
// 4番目の要素を9に変更する
mark[3] = 9;
// ユーザーから入力を受け取り、3番目の要素に格納する
cin >> mark[2];
// ユーザーから入力を受け取り、(i+1)番目の要素に格納する
cin >> mark[i];
// 配列の最初の要素を表示する
cout << mark[0];
// 配列のi番目の要素を表示する
cout << mark[i-1];実例:C++の配列プログラム
次は、ユーザーが入力した5つの数値を配列に格納し、その合計を計算するC++プログラムの例です。
入力例
Enter 5 numbers: 3 4 5 4 2
出力例
Sum = 18
サンプルコード
#include <iostream>
using namespace std;
int main() {
int numbers[5], sum = 0;
cout << "Enter 5 numbers: ";
for (int i = 0; i < 5; ++i) {
cin >> numbers[i];
sum += numbers[i];
}
cout << "Sum = " << sum << endl;
return 0;
}このプログラムでは、for ループを使って配列の各要素にユーザーの入力を順番に格納しながら合計を累積しています。このように配列とループを組み合わせることで、大量のデータを効率的に処理できるのが配列の大きな利点です。
-
【初心者向け】C/C++における多次元配列の初期化方法をわかりやすく解説
多次元配列とは、次元数が2以上ある配列のことです。本記事では、3×3×3の多次元配列におけるメモリ割り当ての仕組みと、実際に配列を初期化して内容を表示するC++プログラムを紹介します。下図は、次元が3×3×3の多次元配列に対するメモリ割り当ての戦略を示したものです。アルゴリズム多次元配列を初期化するプログラムは、以下の手順で構成されます。Begin 多次元配列の要素を初期化する 配列のサイズを出力する 配列の内容を表示する Endサンプルコード以下は、2行2列の二次元配列を初期化し、そのサイズと内容を出力するC++プログラムです。#include<iostream
-
C/C++における多次元配列の定義方法を徹底解説
配列とは、同じ型の要素を連続したメモリ領域に格納したデータ構造です。メモリ上では、最も小さいアドレスが先頭の要素に対応し、最も大きいアドレスが末尾の要素に対応します。配列のインデックスは 0 から始まり、配列サイズ − 1 で終わる点に注意してください。また、配列のサイズは必ず 0 より大きい整数である必要があります。配列のインデックスとサイズの関係具体的な例を見てみましょう。配列サイズ = 10 の場合 先頭のインデックス = 0 末尾のインデックス = 配列サイズ - 1 = 10 - 1 = 9つまり、サイズ10の配列にアクセスできるインデックスは 0〜9 の合計10個ということになりま