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ループなど、配列の基本的な使い方を理解することで、効率的なプログラムを書くことができます。
スポンサーリンク