Débordement mémoire
Résolu/Fermé
dx3d
Messages postés
68
Date d'inscription
dimanche 6 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2017
-
15 avril 2015 à 21:51
dx3d Messages postés 68 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 juillet 2017 - 16 avril 2015 à 20:01
dx3d Messages postés 68 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 juillet 2017 - 16 avril 2015 à 20:01
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
15 avril 2015 à 22:17
15 avril 2015 à 22:17
Note :
Déjà, le Code1 est faux. Il faut retourner sum/(n+1); puisque tu fais une boucle for de 0 à n compris.
Dans le code2, il manque un i=0; quelque part...
Sinon pour répondre à ta question, dans le premier cas, il faut un tableau de taille n+1 au minimum (puisque tu accèdes à la case t[n]).
Pour l'autre, il suffit que ton tableau soit de taille n.
Cdlt,
Déjà, le Code1 est faux. Il faut retourner sum/(n+1); puisque tu fais une boucle for de 0 à n compris.
Dans le code2, il manque un i=0; quelque part...
Sinon pour répondre à ta question, dans le premier cas, il faut un tableau de taille n+1 au minimum (puisque tu accèdes à la case t[n]).
Pour l'autre, il suffit que ton tableau soit de taille n.
Cdlt,
15 avril 2015 à 22:27
Bonne soirée !
16 avril 2015 à 17:23
Modifié par fiddy le 16/04/2015 à 17:39
Avant de créer ton tableau, il faut indiquer sa taille. Tu as donc la taille à ce moment là. Et c'est cette taille que tu envoies en argument de tes fonctions.
Par exemple :
Note : sizeof donne bien la taille du tableau. Attention à ne pas confondre avec les pointeurs...
Si tu ne connais pas la taille avant le lancement du programme, alors on créé généralement un pointeur et on alloue sa taille lors de l'exécution. Encore une fois c'est cette taille que tu enverras en argument de ta fonction.
Exemple :
16 avril 2015 à 20:01