Le tableau tab de la structure n'a pas de taille !
(il est possible de le définir sans taille (tableau extensible - extensible array) mais dans ce cas il faut allouer la structure avec malloc en tenant compte de la taille que l'on veux donner au tableau).
Il faut préciser la taille de process.tab dans la déclaration de ta structure.
Si tu ne le précise pas c’est considéré comme un flexible array member (dans ce code en tout cas), ce qui n’est fort probablement pas ce que tu veux (c’est un truc vraiment difficile à utiliser quand on débute et qui est très peu utile).
EDIT: Grilled…
EDIT2: L’usage de malloc n’est pas obligatoire pour utiliser ce truc.
Sérieusement, utilise pas ce truc. Ce n’est fort probablement pas ce que tu pense que c’est.
Définis une taille pour ton tableau « int tab[42] » ou utilise un pointeur « int* tab » si tu veux l’allouer dynamiquement (comme dans ton dernier post).
je suis d'accord si je mets une valeur fixe dans la structure cela fonctionne. Mais mon soucis c'est que je ne connais pas cette valeur avant d'avoir créer mon process.
J'avais bien essayé
typedef struct{
int NbUC, NbES, TA,TR, Debut;
int tab[NbUC+NbES];
}process;
Mais bien sur cela ne compile pas :
‘NbUC’ undeclared here (not in a function)
EDIT : merci à tous cela fonctionne avec le *tab et l'allocation dynamique ! Bonne journée à tous !!
int tab[NbUC+NbES];
- Edité par zebu56 22 mars 2018 à 10:57:08
Créer un tableau de structure
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent