Allocation de mémoire compliquée
Bonjour, je souhaite utiliser realloc dans le but de créer un tableau de char à partir d'un tableau de structure (je ne sais pas si les mots utilisés sont bons). Voilà un exemple:
Ma structure :
Code:
1 2 3 4 5 6 7 8 9
|
typedef struct probot
{
char *commands; /* tableau de toutes les actions */
char *name; /* nom du robot */
pos position; /* position du robot sur la carte */
int type; /* type du robot */
int lines; /* lignes totales du fichier */
} robot; |
pos est une autre structure.
Je sais déjà créer un tableau pour robot :
Code:
1 2 3 4 5
|
robot *my_robot = NULL;
my_robot = realloc(my_robot, sizeof(robot)*nbr_of_robots); |
Mais pour commands, je vois pas. J'ai déjà fait :
Avec i une variable quelconque.
Code:
(my_robot+i)->commands = realloc((my_robot+i)->commands, sizeof((my_robot+i)->commands+j)*(my_robot+i)->lines);
Mais ca n'a pas l'air d'être ca du tout.
Merci d'avance :)
PS: Si j'utilise direct realloc sur un pointeur valant "NULL" sans passer par malloc c'est bon ? Sachant que je n'ai besoin d'allouer qu'une seul fois commands.