3次元配列


3次元配列イメージ解説

 前回は2次元配列について簡単に言うと行と列だと言うことを解説しました(前回の記事)。今回は3次元配列について記載します。下記資料がイメージです。

3次元配列は2次元配列のx、y方向に加えてz方向にデータが並びます。つまり立体です。以前に配列はループと相性が良いと解説しましたが、3次元配列も同じです。下記にテストコードを記載します。

テストコード

#include <stdio.h>

//3次元配列テストプログラム
int main()
{
    int arr[9][9][3];

    for(int i=0;i<9;i++)
    {
        for(int j=0;j<9;j++)
        {
            for(int k=0;k<3;k++)
            {
                arr[i][j][k]=(i+1)*(j+1)*(k+1);
                printf("%d x %d x %d = %d\n",i+1,j+1,k+1,arr[i][j][k]);
            }
        }
    }
    return 0;
}
'VBA
Option Explicit

'3次元配列テストプログラム
Sub arrTest()
    Dim arr(1 To 9, 1 To 9, 1 To 3)
    Dim i, j, k As Integer

    For i = 1 To 9
        For j = 1 To 9
            For k = 1 To 3
                arr(i, j, k) = i * j * k
                Debug.Print CStr(i) + "x" + CStr(j) + "x" + CStr(k) + _
                "=" + CStr(arr(i, j, k))
            Next k
        Next j
    Next i
End Sub

実行すると99の計算を1〜3倍にした値が表示されたと思います(VBAは全部表示されません)。これだけのコードで9x9x3、つまり243個のデータを一瞬で変数化しています。1つずつ代入してたら嫌になります・・・ この様に3次元配列とループを一緒に使うと短いコードで沢山のデータが扱えることがメリットです。逆にデータが多い分デバッグが大変になるので使う際は注意してください。次回はC言語最難関のポインタ変数について解説します。


コメントを残す