今日の人気記事

  1. printf関数の変換指定子
  2. 2進数を10進数に変換する
  3. 条件演算子(3項演算子)「? :」
  4. int main(void) - プログラムの基本
  5. while文 - 繰り返し処理

多次元配列

当ページのリンクには広告が含まれています。

スポンサーリンク

配列(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次元配列に代入した値が表示されます。

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

基本構文 の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. 関数のプロトタイプ宣言
  4. 変数の値を出力 - printf 関数
  5. エスケープシーケンス - 特殊文字
  6. int main(void) - プログラムの基本
  7. while文 - 繰り返し処理
  8. 配列の要素を出力(表示)する
  9. else if文 - 複数の条件式 - 条件分岐
  10. break文 - ループから抜ける

関連記事(一部広告含む)