void函数的3d数组分配

时间:2012-07-23 16:01:49

标签: c multiple-indirection

当i = 0且j = 2时,我获得了分段错误; 但我不知道为什么!

你能帮帮我吗?

这是我的功能:

void allocationdynamiquetableautroisdimdentier(int**** Matrice,int nbniveau, int nbligne, int nbcolonne)
{
int i,j;
    *Matrice=(int***) malloc (sizeof(int**)*nbniveau);
    for (i=0; i<nbniveau; i++)
    {
        (*(Matrice))[i]=(int**) malloc (sizeof(int*)*nbligne);  // allocation dynamique de la matrice Matrice
        for (j=0; j<nbligne; i++)
        {
            ((*(Matrice))[i])[j]=(int*) malloc (sizeof(int)*nbcolonne);
        } 
    }

}

2 个答案:

答案 0 :(得分:3)

        for (j=0; j<nbligne; i++)

应该是

        for (j=0; j<nbligne; j++)

答案 1 :(得分:2)

两个循环语句中都有i++