C/C++の配列とは?宣言・初期化・要素へのアクセス方法をサンプルコード付きで解説
配列(Array)とは、同じデータ型の要素を固定した個数だけまとめて扱うことができるデータ構造です。配列の各要素は、メモリ上の連続した領域に順番に格納されます。
配列の各要素には、配列名と角括弧「[]」を使ってインデックス番号を指定することでアクセスできます。たとえば a[0] や a[3] のように記述します。なお、C/C++の配列のインデックスは0から始まる点に注意しましょう。
配列の宣言
C/C++言語では、データ型と配列の長さ(要素数)を指定することで配列を宣言します。基本的な構文は以下の通りです。
data_type array_name[length];
たとえば、float型で要素数10の「percentage」という名前の配列を宣言する場合は次のように書きます。
float percentage[10];
配列の初期化
C++では、配列の値を初期化する方法が複数あります。要素を1つずつ設定する方法と、1つのステートメントですべての値をまとめて設定する方法です。
1つずつ初期化する場合:
percentage[5] = 45.3;
すべての値を一度に宣言する場合:
float percentage[] = {56.4, 99.0, 12.20, 67.2};この場合、波括弧「{}」内の値が先頭から順にインデックス0、1、2…へと格納されます。
| インデックス | 0 | 1 | 2 | 3 | 4 | 5 |
| 値 | 78.06 | 56.78 | 99.20 | 12.22 | 87.66 | 34.44 |
配列要素へのアクセス
配列の値を読み取るには、配列名の後ろに角括弧でインデックス番号を指定します。
float myPercentage = percentage[4];
この例では、配列「percentage」の5番目の要素(インデックス4)の値を変数「myPercentage」に代入しています。
サンプル1:forループで配列の全要素を出力する
forループを使えば、配列のすべての要素を効率よく処理できます。
#include <iostream>
using namespace std;
int main(){
float percentage[] = {56.4, 99.0, 12.20, 67.2};
cout<<"printing all values of the array :\n";
for(int i = 0; i<4 ; i++){
cout<<"element "<<i+1<<" = "<<percentage[i]<<endl;
}
return 0;
}実行結果
printing all values of the array : element 1 = 56.4 element 2 = 99 element 3 = 12.2 element 4 = 67.2
サンプル2:配列の特定の要素を出力する
インデックスを直接指定すれば、任意の1つの要素だけを取り出すことも可能です。
#include <iostream>
using namespace std;
int main(){
float percentage[4];
percentage[0] = 56.3;
percentage[1] = 99.12;
percentage[2] = 78.32;
percentage[3] = 61.3;
cout<<"3rd element is "<<percentage[2];
return 0;
}実行結果
3rd element is 78.32
ここで「3番目の要素」を出力するのに percentage[2] を指定している点に注目してください。インデックスは0から始まるためです。
サンプル3:配列の値を再代入(更新)する
配列は宣言後に値を書き換えることもできます。既存のインデックスに対して新しい値を代入するだけで更新されます。
#include <iostream>
using namespace std;
int main(){
float percentage[4];
percentage[0] = 56.3;
percentage[1] = 99.12;
percentage[2] = 78.32;
percentage[3] = 61.3;
cout<<"3rd element is "<<percentage[2];
percentage[2] = 12.22;
cout<<"\nafter change :\n";
cout<<"3rd element is "<<percentage[2];
return 0;
}実行結果
3rd element is 78.32 after change : 3rd element is 12.22
このように、C/C++の配列は「宣言」「初期化」「アクセス」「更新」のいずれもシンプルな構文で行えます。連続したメモリ領域にデータを格納するためアクセスが高速であり、大量の同種データを扱うプログラムで広く活用されています。
-
【初心者向け】C/C++における多次元配列の初期化方法をわかりやすく解説
多次元配列とは、次元数が2以上ある配列のことです。本記事では、3×3×3の多次元配列におけるメモリ割り当ての仕組みと、実際に配列を初期化して内容を表示するC++プログラムを紹介します。下図は、次元が3×3×3の多次元配列に対するメモリ割り当ての戦略を示したものです。アルゴリズム多次元配列を初期化するプログラムは、以下の手順で構成されます。Begin 多次元配列の要素を初期化する 配列のサイズを出力する 配列の内容を表示する Endサンプルコード以下は、2行2列の二次元配列を初期化し、そのサイズと内容を出力するC++プログラムです。#include<iostream
-
C++で配列がビトニック配列かどうかを判定するプログラム
N個の整数からなる配列 arr[N] が与えられたとき、その配列がビトニック配列であるかどうかを判定するのが本記事のテーマです。ビトニック配列であれば「Yes its a bitonic array」と出力し、そうでなければ「No its not a bitonic array」と出力します。ビトニック配列とは、まず厳密に増加し、その後厳密に減少するような配列のことです。たとえば arr[] = {1, 2, 3, 4, 2, -1, -5} という配列は、4までは厳密に増加しており、4以降は厳密に減少しているため、ビトニック配列といえます。入力例と出力例入力arr[] = {1, 3, 5,