今日の人気記事

  1. サンプルプログラム集
  2. 配列に格納した数値を昇順ソート
  3. 入力した行列の積(掛け算)を計算
  4. LinuxでC言語 - コンパイラ(gcc)のインストール
  5. MinGW - gccのコンパイルと実行 - Windows環境

多次元配列

スポンサーリンク

配列(1次元配列)の次は「多次元配列」を取り扱う方法をみていきます。

多次元配列

C言語では、1次元配列に加え多次元配列も使用することができます。それでは多次元配列の宣言(定義)方法をみていきましょう。

2次元配列

まずは、2次元配列です。

変数の型 変数名[配列の数][配列の数];

このように角括弧 [] で囲んで「配列の数」を2つ指定します。

例えば、こんな感じです。

int var[2][2];

2次元配列の変数に値を代入する場合は以下のように記述します。

var[0][0] = 3;
var[0][1] = 5;
var[1][0] = 7;
var[1][1] = 9;

多次元配列

変数の型 変数名[配列の数][配列の数][配列の数][配列の数][配列の数]…;

必要であれば何次元の配列でも使用することができます。必要な分だけ角括弧 [] で囲んで「配列の数」を続ければ、OKです。

例えば、5次元配列はこんなんです。

int var[3][2][4][5][3];
スポンサーリンク

それでは実際にプログラムで多次元配列を使ってみましょう(ここでは2次元配列)。

#include <stdio.h>

int main(void) {

  /* 2次元配列 */
  int kuku[9][9];

  /* 九九の計算 */
  kuku[0][0] = 1 * 1;
  kuku[0][1] = 1 * 2;
  kuku[0][2] = 1 * 3;
  kuku[0][3] = 1 * 4;
  kuku[0][4] = 1 * 5;
  kuku[0][5] = 1 * 6;
  kuku[0][6] = 1 * 7;
  kuku[0][7] = 1 * 8;
  kuku[0][8] = 1 * 9;

  kuku[1][0] = 2 * 1;
  kuku[1][1] = 2 * 2;
  kuku[1][2] = 2 * 3;
  kuku[1][3] = 2 * 4;
  kuku[1][4] = 2 * 5;
  kuku[1][5] = 2 * 6;
  kuku[1][6] = 2 * 7;
  kuku[1][7] = 2 * 8;
  kuku[1][8] = 2 * 9;

  /* 配列の出力 */
  printf("%d, %d, %d, %d, %d, %d, %d, %d, %d\n",
          kuku[0][0], kuku[0][1], kuku[0][2],
          kuku[0][3], kuku[0][4], kuku[0][5],
          kuku[0][6], kuku[0][7], kuku[0][8]);
  printf("%d, %d, %d, %d, %d, %d, %d, %d, %d\n",
          kuku[1][0], kuku[1][1], kuku[1][2],
          kuku[1][3], kuku[1][4], kuku[1][5],
          kuku[1][6], kuku[1][7], kuku[1][8]);

  return 0;
}

実行結果です。

1, 2, 3, 4, 5, 6, 7, 8, 9
2, 4, 6, 8, 10, 12, 14, 16, 18

このように2次元配列に代入した値が表示されます。

次は「四則演算 - 算術演算子」の取扱い方法を確認します。

スポンサーリンク