problème de malloc() avec des structures de structures
Bien le bonjour,
je vous résumé la structure de mon programme :
j'ai ces deux structures :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
typedef struct
{
SDL_Rect emplacement_bouton;
int numeroBouton;
} lesBoutons;
typedef struct
{
lesBoutons* proprieteBoutons;
int nombreBoutons;
} Map; |
Ensuite j'ai cette fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Map* ChargerMap( ...)
{
Map* structureMap;
int numBoutons;
structureMap->nombreBoutons = 10;
// EMPLACEMENT DU MALLOC
Pour i de 0 à ...
{
pour j de 0 à ...
{
if(condition faire )
{
emplacementBouton(i, j, structureMap->proprieteBoutons, structureMap->nombreBoutons);//enregistre le bouton
numBouton++;
}
}
return structureMap;
} |
Mon objectif est d’allouer l'espace nécessaire avec un malloc() pour qu'ensuite je puisse faire ça ou l'équivalent :
Code:
1 2 3 4 5 6 7 8
|
void emplacementBouton(int i, int j, structureMap->proprieteBoutons, int numBouton)
{
structureMap->proprieteBoutons[numBouton] -> emplacement_bouton.x = i * structureMap -> LARGEUR_TILE;
structureMap->proprieteBoutons[numBouton] -> emplacement_bouton.y = j * structureMap -> HAUTEUR_TILE;
structureMap->proprieteBoutons[numBouton] -> emplacement_bouton.w = 4 * structureMap -> LARGEUR_TILE;
structureMap->proprieteBoutons[numBouton] -> emplacement_bouton.h = 2 * structureMap -> HAUTEUR_TILE;
} |
Malheureusement, j'ai encore un peu de mal avec l'utilisation des malloc et des structures de structures.
j'aurai surtout besoin de conseil sur la démarche à suivre dans ce cas là.
Si vous voulez plus de détails sur le fonctionnement de mon programme n'hésitez pas.