Выделение трехмерного массива функцией void

Я получаю ошибку сегментации, когда 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 ответа

Решение
        for (j=0; j<nbligne; i++)

должно быть

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

У тебя есть i++ в обоих циклах!

Другие вопросы по тегам