Déjà, je vous conseille (ne l'ai-je pas dit hier) de vérifier tous les retours des fonctions, notamment SDL_SetVideoMode() / IMG_Load(). Ces fonctions retournent NULL lorsqu'elle rencontre une erreur.
De plus, la signature de la fonction loadImages serait plus juste comme ceci :
char loadImages(SDL_Surface ** background,SDL_Surface * airplane[],SDL_Surface * ombre[])
En effet, les [] sont équivalent à l'étoile de pointeur.
Sinon pas besoin de malloc, car vous déclarer votre tableau statiquement :
Par contre, lorsqu'il est dynamique (taille non définie à la compilation, alors il faut un malloc() et son acolyte indissociable, free().
1 2 3 4 5 6 7 8 9
|
SDL_Surface** pSurfaces = NULL;
pSurfaces = malloc(sizeof(SDL_Surface*) * 7);
if ( pSurface == NULL )
{
// Error
}
free (pSurface); |
Partager