Problème initialisation tableau structure C

Résolu/Fermé
Séb - 16 août 2010 à 17:46
 Séb - 16 août 2010 à 18:47
Bonjour a tous

voila, je débute en C, et j'ai un soucis pour initialiser un tableau de structure qui contient une chaine de caractères.

voila ma structure

struct Reg_Produit{

int NumProduit;
char Description[21];
float Prix;
};

je creer un tableau de 100 éléments de type struct Reg_Produit

struct Reg_Produit TProduit;

et j'essaye de l'initialiser avec une boucle for

for (i=0;i<=100;i++){
TProduit[i].NumProduit=i;
TProduit[i].Description="";
TProduit[i].Prix=0;
}

la compilation échoue en me disant:

incompatible types assignment of 'const char[1]' to 'char[21]'

quelqu'un de patient veut bien me dire comment initialiser ce tableau avec une boucle for?

merci beaucoup

2 réponses

Merci beaucoup fiddy

ça marche maintenant
5
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 16/08/2010 à 18:35
Bonjour,
Attention à la condition d'arrêt de votre boucle for.
Si vous créez un tableau de 100 éléments, le dernier sera le 99ème (numérotation commençant à 0 oblige !).
Il faut donc mettre : for(i=0;i<100;i++) /*inférieur strictement*/
De plus, vous affectez mal les valeurs aux chaînes de caractères :
strcpy(TProduit[i].Descrption, ""); ou tout simplement TProduit[i].Description[0]=0;

Cdlt,
0