05
Июн
2017

Двумерный динамический массив указателей (char*)

Можете объяснить как выделить и осовободить память для такого массива?

Я пытался так, но не уверен, что это правильно, как освободить не совсем понимаю, можете подсказать как исправить выделение и как написать освобождение памяти?

char*** create(int num){
    char *** temp = (char ***) malloc(num * sizeof(char **));
    for (int i=0; i < num; i++) {
        temp[i] = (char **) malloc(num * sizeof(char*));
        for (int j = 1; j < num; j++)
            temp[i][j] = (char *) malloc(num * sizeof(char*));   
    }
    return temp;
}

Источник: https://ru.stackoverflow.com/questions/675424/%D0%94%D0%B2%D1%83%D0%BC%D0%B5%D1%80%D0%BD%D1%8B%D0%B9-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2-%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9-char

Share

Тебе может это понравится...