hey look there,
you are declaring just a array of type struct Ssprite not the array of pointer of type struct Ssprite.
struct Ssprite *sprite;
and in the bottom of your code
u are assiging a pointer to an array of struct Ssprite.which is not correct , the array should be a pointer to pointer of type struct Ssprite
new_animation->sprite[i] = load_sprite(filename,x,y,width,height,x_offset,y_o ffset);
struct Ssprite* load_sprite(char *file_name, int x, int y, int width, int height, int x_offset, int y_offset)
struct Ssprite *sprite; or **sprite if dynamic memory allocation