#1 Le 23/03/2022, à 17:24
- benOAH
[Résolu] problème d'initialisation d'un tableau dynamique en C
Bonjour,
Je n'arrive pas à initialiser un tableau de 15 postes dont la taille que j'alloue dynamiquement car il va diminuer au cours du traitement quand des joueurs vont sortir :
char* jeu_play ;
int nb_joueurs = 15;
jeu_play = (char *) malloc(nb_joueurs * sizeof(char));
jeu_play [nb_joueurs] = (char *) {"Eric", "François", "Marina", "Toto", "GrosBras", "Fifi", "Caroline", "Norbert", "Marguerite", "Jojo", "Laplouc", "JO", "Grand-Mère", "Phillipe", "Hélène"};
printf ("%s", &jeu_cartes[0]) ;
Je ne trouve rien que du blanc dans ce tableau. Je n'arrive pas à le charger pour l'initialiser alors que ce n'est pas un problème difficile dans d'autres langages.
Je demande à l'un d'entre vous de bien vouloir m'aider ...
Merci d'avance;
Ben
Dernière modification par benOAH (Le 23/03/2022, à 18:39)
La loi est la foi - Descartes
Hors ligne
#2 Le 23/03/2022, à 17:35
- NicoApi73
Re : [Résolu] problème d'initialisation d'un tableau dynamique en C
Bonjour,
Là, tu crées un tableau de 15 caractères. Il te faut créer un tableau de 15 noms, chacun d'un certain nombre de caractères (à toi à définir la taille, puis à contrôler à l'usage que tu ne fais pas de débordement...)
Hors ligne
#3 Le 23/03/2022, à 17:50
- kamaris
Re : [Résolu] problème d'initialisation d'un tableau dynamique en C
Si jeu_play est un tableau de char, alors jeu_play [nb_joueurs] est un char, pas un tableau de tableaux de char.
Par ailleurs, si la taille du tableau est nb_joueurs, alors jeu_play [nb_joueurs] est en dehors du tableau : ses indices vont de 0 à nb_joueurs - 1.
Au-delà de ça, tu ne devrais probablement pas t'embêter avec des allocations dynamiques dans ce cas : alloue statiquement ton tableau de char * dès le départ avec ces 15 noms, puis réutilise-le en le réorganisant, avec une sentinelle NULL à la fin, quand tu enlèves des noms (ou garde le premier comme référence si nécessaire et alloues-en un autre de même taille).
Hors ligne
#4 Le 23/03/2022, à 18:39
- benOAH
Re : [Résolu] problème d'initialisation d'un tableau dynamique en C
D'accord, Je change ma logique algorithmique car j'ai déjà passé trop de temps sur ce ... de tableau !
Merci pour vos réponses
La loi est la foi - Descartes
Hors ligne
#5 Le 23/03/2022, à 18:43
- iznobe
Re : [Résolu] problème d'initialisation d'un tableau dynamique en C
Bonjour , sinon voilà ce que j' avais fait a l' epoque pour autre chose , mais facilement transposable :
const char* tableauDeNoms_V [ NUMBER_NAME_RELAY_V ] = {"Cuisine", "Sa manger", "Salon", "Salle TV", "Ch parents", "S.D.Bains", "Bureau"};
evidemment tu peux enlever " const " devant qui declare ce tableau en cosntante . et ce n ' est pas un tableau dynamique .
ca aussi peut t ' interresser :
const char * LABELS_OF_INTEREST[] = {"VG", "VO", "VF","VA", "P", "AM", "AA", "AG","R"};
const unsigned int MAX_LABELS_OF_INTEREST = sizeof(LABELS_OF_INTEREST) / sizeof(char*);
Dernière modification par iznobe (Le 23/03/2022, à 18:59)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne