C++で配列を使う方法!宣言から要素へのアクセスまで徹底解説
配列(Array)とは、同じ型の要素が連続したメモリ領域上に並んでいるデータ構造で、一意の識別子(変数名)にインデックスを組み合わせることで、個々の要素に個別にアクセスできます。C++で配列を使用するには、まず配列を宣言する必要があります。
int arr[10];
このコードは、int型の要素を10個格納できる配列を宣言しています。これにより、連続したメモリ領域に10個の整数を保存することが可能になります。
配列の要素へアクセスする方法
配列の特定の要素を参照するには、配列アクセス演算子「[]」を使い、アクセスしたい要素のインデックスを指定します。ここで重要なのは、C++の配列のインデックスは0から始まるという点です。つまり、arrという配列には、インデックス0、1、2、…、9に対応する10個の要素が存在します。
例えば、3番目の要素(インデックスは2)にアクセスする場合は、次のように記述します。
arr[2]
ループを使ってすべての要素を操作する
配列内のすべての要素に順番にアクセスしたい場合は、forループを使うのが便利です。以下のサンプルコードでは、ユーザーから10個の整数を入力して配列に格納し、その後、入力されたすべての要素を出力しています。
#include<iostream>
using namespace std;
int main() {
int arr[10];
// 0から9まで繰り返すループを作成
for(int i = 0; i < 10; i++) {
cin >> arr[i]; // i番目の要素を入力
}
// 入力された要素を出力
for(int i = 0; i < 10; i++) {
cout << arr[i] << endl; // i番目の要素を出力
}
}
実行結果
このプログラムを実行すると、以下のような出力が得られます。
1 5 -6 45 12 9 -45 12 3 115
注意点:配列の範囲外アクセス
C++の配列では、宣言したサイズを超えるインデックスにアクセスすると、未定義動作(Undefined Behavior)が発生し、プログラムがクラッシュしたり予期しない結果を引き起こしたりする可能性があります。必ずインデックスが0以上・サイズ-1以下の範囲内に収まるように注意しましょう。
まとめ
C++で配列を使う基本の手順は、①適切な型とサイズで配列を宣言する、②インデックスを指定して各要素にアクセスする、③forループを活用して効率よく複数の要素を処理する、の3点です。なお、より安全で柔軟なデータ管理が必要な場合は、標準ライブラリのstd::arrayやstd::vectorの利用も検討するとよいでしょう。
-
C/C++の多次元配列とは?基本概念から動的メモリ確保まで徹底解説
C/C++における多次元配列とは、簡単に言えば「配列の配列」として定義されるデータ構造です。多次元配列では、データが表形式(行優先順/row-major order)でメモリ上に格納されます。 以下の図は、3×3×3の次元を持つ多次元配列のメモリ割り当て戦略を示したものです。 アルゴリズム 2次元配列を動的に確保し、操作するための基本的な手順は以下の通りです。 Begin 配列の次元を宣言する new演算子を使用して2次元配列 a[][] を動的に確保する 配列に要素を格納する 配列の内容を出力する deleteによってメモリを解放する End サン
-
C++のnew演算子を使って2次元配列を動的に宣言・生成する方法
動的な2次元配列とは、基本的に「配列へのポインタ」を要素とする配列(ポインタの配列)のことです。つまり、各行が独立した1次元配列としてヒープ上に確保され、それらの先頭アドレスを格納するポインタ配列によって全体が管理されます。下図は、3×4の2次元配列のイメージです。アルゴリズムC++のnew演算子で2次元配列を動的に確保する手順は以下の通りです。Begin 配列の寸法(行数・列数)を宣言する。 new を使って 2次元配列 a[][] を動的に確保する。 配列に要素を代入する。 配列の内容を出力する。 delete でメモリを解放する。 Endサンプルコ