関数への多次元配列に引き渡しに以下の記述が使われていました.
この渡し方は正しい方法なのでしょうか?
これが正しくなる規格はどれなのか教えて欲しいです.
static void kernel_fdtd_2d(int tmax,
int nx, int ny,
double ex[ nx + 0][ny + 0],
double ey[ nx + 0][ny + 0],
double hz[ nx + 0][ny + 0],
double _fict_[ tmax + 0]){
// ex[i][j] = xxx という書き方で記述されている
}
int main(int argc,char **argv){
double *ex,*ey,*hx;
ex = malloc( ... );
ey = malloc( ... );
hx = malloc( ... );
kernel_fdtd_2d(tmax,nx,ny,ex,ey,hx);
return 0;
}