TRAITEMENT DE TABLEAU AVEC ALLOCATION & RESTITUTIONN DE MEMOIRE
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 2009
-
12 juin 2003 à 18:04
cs_kelsey
Messages postés35Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention11 décembre 2004
-
12 juin 2003 à 18:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_kelsey
Messages postés35Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention11 décembre 2004 12 juin 2003 à 18:17
Oui coach!! je ferai de mon mieux!
;p
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 12 juin 2003 à 18:16
Reponse au second message:
valeur est un 'float'
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 12 juin 2003 à 18:14
- le teste du malloc ?
- le #include est initule
- au lieur de faire " *(Pt_tableau+L_position)= L_valeur; " tu devrait plutot faire : "Pt_tableau[L_position] ) L_valeur;"
- "malloc((L_Nb_max*4))" n'est pas bien, car si tu vas sur un ancien ordinateur 16 bits il ne faut pas faire "*4" mais "*2" !
Donc fais plutot "malloc((L_Nb_max*sizeof(long)))" (portabilite valable sue tout les ordinateurs)
- Pour la onction 'Lire' fais directement
'return *(Pt_tableau+(L_position));' , c'est plus direct
- Dans 'Affichage' tu initialises 2 fois 'indice' !
- tu testes "position>Nb_max", et si je tape -10 !!!
tu devrais faire : "position>Nb_max && position <= 0"
- Pourquoi faire des globales !! Il faut eviter de toujours mettre des globales ... (des fois c'est neccessaire)
cs_kelsey
Messages postés35Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention11 décembre 2004 12 juin 2003 à 18:13
ben non puisque valeur est un int et que *(Pt_tableau+L_position) est un pointeur sur entier, ce pointeur renvoit un entier!!
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 12 juin 2003 à 18:04
ATTENTION :
" *(Pt_tableau+L_position)= L_valeur; "
- les types sont differents !
12 juin 2003 à 18:17
;p
12 juin 2003 à 18:16
valeur est un 'float'
12 juin 2003 à 18:14
- le #include est initule
- au lieur de faire " *(Pt_tableau+L_position)= L_valeur; " tu devrait plutot faire : "Pt_tableau[L_position] ) L_valeur;"
- "malloc((L_Nb_max*4))" n'est pas bien, car si tu vas sur un ancien ordinateur 16 bits il ne faut pas faire "*4" mais "*2" !
Donc fais plutot "malloc((L_Nb_max*sizeof(long)))" (portabilite valable sue tout les ordinateurs)
- Pour la onction 'Lire' fais directement
'return *(Pt_tableau+(L_position));' , c'est plus direct
- Dans 'Affichage' tu initialises 2 fois 'indice' !
- tu testes "position>Nb_max", et si je tape -10 !!!
tu devrais faire : "position>Nb_max && position <= 0"
- Pourquoi faire des globales !! Il faut eviter de toujours mettre des globales ... (des fois c'est neccessaire)
12 juin 2003 à 18:13
12 juin 2003 à 18:04
" *(Pt_tableau+L_position)= L_valeur; "
- les types sont differents !