我将全局 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;
我得到一个段错误。
我究竟做错了什么 ?