Marco59190
Messages postés2Date d'inscriptionsamedi 29 octobre 2005StatutMembreDernière intervention 2 juin 2006
-
2 juin 2006 à 15:19
Marco59190
Messages postés2Date d'inscriptionsamedi 29 octobre 2005StatutMembreDernière intervention 2 juin 2006
-
2 juin 2006 à 15:43
Salut tout le monde :D
J'ai un petit problème...
J'ai un tableau de chaine de caractère comme par exemple :
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 juin 2006 à 15:29
(sizeof mot10 / sizeof *mot10) devrait contenir le nombre d'éléments de mot10, soit le nombre de mots.
En l'occurence, tu devrais peut être déclarer ça en const char* mot10[] si les chaines ne sont pas modifiées
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 2 juin 2006 à 15:28
Bien normalement, cette taille est cencé être déja connue. Sinon à la limite et je dit bien à la limite, si tu est sur que l'endroit où sa taille est calculer n'est pas une fonction et que ce tableau est justement le paramètre de cette fonction et bien tu peut faire ceci:
sizeof(mot10)/4
Mais c'est vraiment à la limite car c'est très imprudent d'utiliser sizeof.
___________________________________________
Les plus grands esprits trouvent toujours une solution
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 juin 2006 à 15:31
SAKingdom, non ce n'est imprudent d'utiliser sizeof. mot10 est un tableau, on sait donc bien que sizeof va renvoyer sa taille
sizeof *mot10 à la place de 4 évitera des surprises en 64 bits
Vous n’avez pas trouvé la réponse que vous recherchez ?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 2 juin 2006 à 15:36
Il est imprudent d'utiliser sizeof si le tableau ce retrouve en paramètre de fonction. Mais dans d'autre circonstance, on peut l'utiliser sans danger(j'espère), je suis bien d'accord avec toi sur ce point.
___________________________________________
Les plus grands esprits trouvent toujours une solution
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 juin 2006 à 15:39
J'aime pas le terme imprudent en fait. S'il est en paramètre, c'est sur il va renvoyer la taille d'un pointeur, 4 en général.
Dans ce cas, utiliser sizeof n'est pas une imprudence mais une erreur, car c'est sûr qu'on obtientra un résultat erroné