how do I allocate space for the array on the heap
struct pixel **read_pixel_array(FILE *image, int pixel_array_offset, int width, int height) {
    struct pixel** m = malloc(sizeof(struct pixel *) * height);

    for (int i = 0; i < height; i++){
        m[i] = malloc(sizeof(struct pixel));
    }

    fseek(image, pixel_array_offset * 3, SEEK_SET);

    return &m[0];
}