i have a little question in relation to the free() function of C.
I allocate in a program a multidimensional array with this code :
char **newMatrix( int N ){
    int i,j;
    char **a = malloc(sizeof *a * N);
    if (a)
    {
      for (i = 0; i < N; i++)
      {
        a[i] = malloc(sizeof *a[i] * N);
      }
    }
at the end of the program the array is full of characters. So i do this to deallocate the memory.
void freeArray(char **a, int m){
    int i;
    for (i = 0; i < m; ++i) {
        free(a[i]);
    }
    free(a);
}
My question is , how can I really check if the free() function works well , and deallocate all the memory? I ask you because I have tried to print the matrix after the freeArray , and the result is that the values are still stored in the a[i][j] columns and rows .
Sorry if it will be a stupid question , i'm new of C programming!
 
     
     
     
     
     
    