Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

【初心者向け】C/C++における多次元配列の初期化方法をわかりやすく解説

多次元配列とは、次元数が2以上ある配列のことです。本記事では、3×3×3の多次元配列におけるメモリ割り当ての仕組みと、実際に配列を初期化して内容を表示するC++プログラムを紹介します。

下図は、次元が3×3×3の多次元配列に対するメモリ割り当ての戦略を示したものです。

【初心者向け】C/C++における多次元配列の初期化方法をわかりやすく解説

アルゴリズム

多次元配列を初期化するプログラムは、以下の手順で構成されます。

Begin
    多次元配列の要素を初期化する
    配列のサイズを出力する
    配列の内容を表示する
End

サンプルコード

以下は、2行2列の二次元配列を初期化し、そのサイズと内容を出力するC++プログラムです。

#include<iostream>
using namespace std;
int main()
{
    int r, c;
    int a[][2] = {{3,1},{7,6}};
    cout<< "Size of the Array:"<<sizeof(a)<<"\n";
    cout<< "Content of the Array:"<<sizeof(a)<<"\n";
    for(r=0; r<2; r++) {
        for(c=0; c<2; c++) {
            cout << " " << a[r][c];
        }
        cout << "\n";
    }
    return 0;
}

実行結果

Size of the Array:16
Content of the Array:16
3 1
7 6

解説

このプログラムでは、宣言と同時に初期化子リスト {{3,1},{7,6}} を使って二次元配列を初期化しています。最初の次元(行数)は省略可能で、コンパイラが初期化子の数から自動的に判断します。一方、2番目以降の次元(列数)は必ず指定する必要があります。

sizeof(a) により配列全体のバイトサイズを取得できます。int型が4バイトのため、2×2の要素数4つ分で16バイトという結果になります。ネストしたforループを使うことで、行と列を順番に走査し、配列の全要素を整形して表示しています。

  1. C/C++の多次元配列とは?基本概念から動的メモリ確保まで徹底解説

    C/C++における多次元配列とは、簡単に言えば「配列の配列」として定義されるデータ構造です。多次元配列では、データが表形式(行優先順/row-major order)でメモリ上に格納されます。 以下の図は、3×3×3の次元を持つ多次元配列のメモリ割り当て戦略を示したものです。 アルゴリズム 2次元配列を動的に確保し、操作するための基本的な手順は以下の通りです。 Begin 配列の次元を宣言する new演算子を使用して2次元配列 a[][] を動的に確保する 配列に要素を格納する 配列の内容を出力する deleteによってメモリを解放する End サン

  2. C言語の多次元配列とは?行優先・列優先の仕組みとサンプルコード

    多次元配列とは配列とは、同種のデータ(ホモジニアスなデータ)をまとめて管理するための基本的なデータ構造です。配列の要素は、メモリ上の連続した領域に順番に配置されます。しかし実際のプログラミングでは、1次元の配列だけでは不十分なケースが少なくありません。例えば、表形式のデータや行列を扱う場合には、2次元配列やさらに多くの次元を持つ多次元配列を作成する必要があります。行優先方式と列優先方式多次元配列をメモリ上に表現する方法には、大きく分けて2つのアプローチがあります。ひとつは行優先(Row-Major)方式、もうひとつは列優先(Column-Major)方式です。r行 c列の2次元配列を考えてみま