does the code properly implement a 2D array for struct pixel
struct pixel **pixel_array = malloc(height*sizeof(struct pixel *));
    if (pixel_array == NULL){
        perror("Unable to malloc space");
        exit(1);
    }
    for(int i = 0; i < height; i++){
        pixel_array[i] = malloc(width*sizeof(struct pixel));
        if (pixel_array[i] == NULL){
            perror("Unable to malloc space");
            exit(1);
        }
    }