int ***darray; (darray[x][y][z] )我想为while循环中的最后一个维度分配内存,即循环的每次迭代都会递增z。迭代次数是先验未知的。
我已经为前两个维度分配了内存,如下所示
darray = calloc (x, sizeof(int**));
for ( i=0; i< x; i++)
darray[i] = calloc (y, sizeof(int*) );分配要执行的darray[i][j][k]元素时遇到问题
`for ( i= 0; i< x; i++)
{
for ( j=0; j< y; j++)
{
Break= TRUE;
k=0;
while ( Break )
{
darray[i][j][k] = VarX;
if ( VarX > 10 )
Break = FALSE;
k++;
}
}
}`
发布于 2015-04-24 17:27:19
您已经创建了2个维度。现在只需分配第三个:
for( size_t i = 0 ; i < x ; i++ )
{
for( size_t j = 0 ; j < y ; j++ )
{
darray[i][j] = calloc( z , sizeof( int ) ) ;
}
}https://stackoverflow.com/questions/29843331
复制相似问题