概要どの言語でも2次元配列(マトリックス)を簡単に定義できます。コンピューター内のメモりのアドレスは1次元に定義されているので、実は1次元配列しか受け付けていません。そのため、2次元配列を定義したときはそれを1次元配列に組み直す必要があります。その組み直しはコンパイラーが自動的にやってくれますので、プログラマーはその組み直しを意識する必要なく、2次元配列を使用できます。組み直し方に注意しないと、思わぬ不効率なコードを書いてしまいかねません。言語によっては組み直し方が違うので、特に注意が必要。2次元配列から1次元配列に組み直し方は2通りあります。n)を定義したとします。図1では見やすくするために行別に色付けしてあります。サイズがm×nの2次元配列Aijさてm×nの2次元配列Aijを行単位で1次元配列に組みなおすと、図2のようになります。組みなおすと、図3のようになります。列単位で組みなおされた1次元配列2次元配列を処理するときは一般的に2重ループを用います。その2重ループの順番を組みなおされた1次元配列に合わせないと、メモリアクセスのジャンプが起こりかねません。内側のループのカウンターは、行単位の場合は配列の行、列単位の場合は列を指すようにしなければなりません。具体的には以下のサンプルをご覧ください。C言語では行単位、FORTRAN言語では列単位の組み直し方が採用されますので、同じ動作のプログラムでもCとFORTRANとでは2重ループの順番は異なります。CからFORTRANにまたはその逆にコード書き換えようとするときに注意しなければなりません。ARCODY.COM初版:2012/01/11、最終更新:2018/12/10http://www.arcody.com/fast-programming/double-array/index.php。