次のように定義されたグローバル 3D 配列があります。
double*** arr;
ファイル common.c で
私は宣言を持っています
extern double*** arr;
ファイル common.h で
実行時にこの配列を動的に初期化しているときに、コードを実行したセグメンテーション違反が発生しています
exs =malloc(sizeof(double)*nx*ny*nz);
ここで、nx、ny、および nz は、このステートメントを実行する前に実行時に認識されます。
しかし、この配列を次のように初期化しようとすると
for(i=0;i<nx;i++)
for(j=0;j<ny;j++)
for(k=0;k<nz;k++)
arr[i][j][k]=0.0e0;
セグメンテーション違反が発生します。
私は何を間違っていますか?