C言語で二次元配列の行と列を定義する方法

C 言語では、二次元配列の行と列は宣言時に指定する必要があります。以下に例を示します。

  1. 2次元の整数型の3行4列の配列を定義する:
int arr[3][4];
  1. 2行3列の2次元浮動小数点型配列を定義する:
float arr[2][3];
  1. 5行2列の文字型二次元配列を定義する:
char arr[5][2];

配列の行と列の大きさは定数にする必要があり、変数では指定できないことに注意してください。配列の行と列を動的に定義したい場合は、malloc 関数などの動的メモリ割り当て方式を使用できます。

int rows = 3;
int cols = 4;
int **arr = malloc(rows * sizeof(int *));
for (int i = 0; i < rows; i++) {
    arr[i] = malloc(cols * sizeof(int));
}

変数 rows と cols の値に基づき、2 次元配列の行、列を動的に定義できます。ただ1 つ注意が必要なのは、使用後はメモリ解放を実行してメモリリークを避ける必要があることです。

for (int i = 0; i < rows; i++) {
    free(arr[i]);
}
free(arr);
bannerAds