can you explain to me why i have a segmentation error?
#define M 5 
char ** test(int size) {
    char ** grid = malloc(size * sizeof(char)); 
    for (int row = 0; row < size ; row++) {
        grid[row] = malloc (size * sizeof(char)); 
    }
   for (int i = 0 ; i < size ; i++) {
       for (int j = 0 ; j < size ; j++) {
           grid[i][j] = 1; 
       }
   }
    return grid ; 
}
int main()
{
    char ** grid = test(M);  
}
Yet it seems correct to me...
 
    