首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环递增时C语言中3d数组的动态内存分配

循环递增时C语言中3d数组的动态内存分配
EN

Stack Overflow用户
提问于 2015-04-24 17:12:34
回答 1查看 78关注 0票数 0
代码语言:javascript
复制
int ***darray;  (darray[x][y][z] )

我想为while循环中的最后一个维度分配内存,即循环的每次迭代都会递增z。迭代次数是先验未知的。

我已经为前两个维度分配了内存,如下所示

代码语言:javascript
复制
darray = calloc (x, sizeof(int**));

for ( i=0; i< x; i++)
   darray[i] = calloc (y, sizeof(int*) );

分配要执行的darray[i][j][k]元素时遇到问题

代码语言:javascript
复制
`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++;

       }
    }
}

`

EN

回答 1

Stack Overflow用户

发布于 2015-04-24 17:27:19

您已经创建了2个维度。现在只需分配第三个:

代码语言:javascript
复制
for( size_t i = 0 ; i < x ; i++ )
{
    for( size_t j = 0 ; j < y ; j++ )
    {
        darray[i][j] = calloc( z , sizeof( int ) ) ;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29843331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档