123

                Never    
C
       
#include <stdio.h>
#include <stdlib.h>

unsigned*** new_3d_array(unsigned n,unsigned m,unsigned k){
    unsigned ***pt;
    pt = (unsigned ***)malloc(n * sizeof(unsigned **));
    for(int i = 0; i < n; i++) pt[i] = (unsigned **)malloc(m * sizeof(unsigned *));
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            pt[i][j] = (unsigned *)malloc(k * sizeof(unsigned));
    }
    return pt;
}

void delete_3d_array(unsigned ***arr){
    int n = 0, m = 0, k = 0;
    while(&arr[0][1][0] > &arr[0][0][k]){
        k++;
    }
    while(&arr[1][0][0] > &arr[0][m][0]){
        m++;
    }
    while(&arr[n][0][0]) n++;

    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            free(arr[i][j]);
        }
    }
    for(int i = 0; i < n; i++) free(arr[i]);
    free(arr);
}

Raw Text