なお、例は int 型の配列や関数で作られていますので、 用途によって float や double に変更してください。
------------------------------------------------------
/* 2次元配列を扱うプログラム例 */
#include <stdio.h>
#include <stdlib.h>
/* 2次元配列の領域確保 */
int **malloc_2dim_array(int row, int col) {
int i;
int **array;
array = (int **)malloc(row * sizeof(int *));
for (i = 0; i < row; i++)
array[i] = (int *)malloc(col * sizeof(int));
return array;
}
/* 2次元配列の開放 */
void free_2dim_array(int **array, int row, int col) {
int i;
for (i = 0; i < row; i++)
free(array[i]);
free(array);
}
/* 2次元配列の表示 */
void print_2dim_array(int **array, int row, int col) {
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++)
printf("%d ", array[i][j]);
printf("\n");
}
}
/* 2次元配列を扱うプログラム */
int main() {
const int ROW = 2;
const int COL = 3;
int **array = malloc_2dim_array(ROW, COL);
array[0][0] = 1; array[0][1] = 2; array[0][2] = 3;
array[1][0] = 4; array[1][1] = 5; array[1][2] = 6;
print_2dim_array(array, ROW, COL);
free_2dim_array(array, ROW, COL);
return 0;
}
------------------------------------------------------