0
我該如何聲明一個動態分配的數組全局,以便該數組不需要在每個其他函數中初始化?我該如何聲明一個動態分配的數組全局
ushort ***array_3D;
ushort **array_2D;
extern int nexp;
int xarr,yarr;
/***********intialization************/
void initialize()
{
fflush(stdout);
printf("Hi");
int ii,jj,kk;
/*************** 2D array *********************/
// Allocate "main" array
//
array_2D = new ushort*[xarr];
// Allocate each member of the "main" array
//
for (ii = 0; ii < xarr; ii++)
array_2D[ii] = new ushort[yarr];
/***********************************************/
/************** 3D array ***********************/
// Allocate "main" array
//
array_3D = new ushort**[nexp];
// Allocate each member of the "main" array
//
for (ii = 0; ii < nexp; ii++)
array_3D[ii]= array_2D;
/***********************************************/
return;
}
/**************some other function***************/
void foo
{
int ii,kk,jj;
int src_buffer[200];
status = 0; /* initialize status before calling fitsio routines */
for (jj = 0; jj < naxes[1]; jj++)
for (ii = 0; ii < naxes[0]; ii++)
{
src_buffer[i]=int(rand());
array_2D[jj][ii]=int(src_buffer[n]);
array_3D[kk][jj][ii]= int(src_buffer[n]);
}
}
當我編譯上面的程序它編譯沒有任何問題....但是當我去運行程序,我得到段錯誤時,我稱之爲「富」。急需幫助。提前致謝。