Addition de sizeof (i) au lieu de i - C - Programmation
Marsh Posté le 21-09-2003 à 17:01:57
dis ton code, je pense meme pas qu'il soit valable 
 
ptstruct = calloc (nb_etud, sizeof(Etud)); 
ptstruct[i].pCote = calloc (ptstruct[i].nbCote, sizeof (int)); 
 
quand au reste, j'y comprends rien
Marsh Posté le 21-09-2003 à 17:02:20
&(ptstruct+i) 
 
ça me semble dangereux ça 
c'est pas plutôt ptstruct[i] la manière propre de le faire ? 
 
edit: ![[:benou_grilled] [:benou_grilled]](https://forum-images.hardware.fr/images/perso/benou_grilled.gif)
Marsh Posté le 21-09-2003 à 17:03:17
| antp a écrit : &(ptstruct+i)  | 
il est complètement pommé entre pointeurs, *, &, ->, [] ...
Marsh Posté le 21-09-2003 à 17:04:48
pommé ? il a mangé trop de pommes ? ![[:ddr555] [:ddr555]](https://forum-images.hardware.fr/images/perso/ddr555.gif) 
 
(c'est plutôt paumé, non ?  )
)
Marsh Posté le 21-09-2003 à 17:05:14
ReplyMarsh Posté le 21-09-2003 à 17:06:44
| antp a écrit : pommé ? il a mangé trop de pommes ?  | 
peut être qu'il a un mac    ![[:spamafote] [:spamafote]](https://forum-images.hardware.fr/images/perso/spamafote.gif) 
 
Marsh Posté le 21-09-2003 à 17:29:05
Ça marche pas mieux ?
Marsh Posté le 21-09-2003 à 17:30:39
si, ça marche mais c pas pour autant que c'est correct ^^
Marsh Posté le 21-09-2003 à 17:36:37
D'où le "mieux" dans ma phrase  
 
 
scanf ("%d",ptstruct[i].pCote[j]);  
 
-> 
 
scanf ("%d",&(ptstruct[i].pCote[j])); 
Marsh Posté le 21-09-2003 à 17:37:12
bizarre a lecole en 1ere ils ont exactement le meme enonce pour linstant 
 
Marsh Posté le 21-09-2003 à 17:39:10
| red faction a écrit : bizarre a lecole en 1ere ils ont exactement le meme enonce pour linstant  | 
 
Ou donc?
Marsh Posté le 21-09-2003 à 17:40:50
| Koude a écrit : Il en veut pas :  | 
 
 
ha, bizarre, il me semblait que ça marchait. 
Je fais rarement du C/C++, et en plus quand j'en fais je le fais mal 
Marsh Posté le 21-09-2003 à 17:42:18
| antp a écrit :   | 
 
 
Et c'est maintenant que tu le dis   ^^
  ^^ 
Merci qd même, de toute façon la ça a l'air de fonctionner
Marsh Posté le 21-09-2003 à 17:43:18
 
 
Et t'es en train de me dire qu'en premiere ils font deja de l'alloc dynamique de struct ?
Marsh Posté le 21-09-2003 à 17:45:23
T'es sur que c'est pas en deuxieme ? 
Au fait, c koi ton ptit nom propre ?
Marsh Posté le 21-09-2003 à 17:46:26
je suis en mission inconnue puis jparle pas au fossilles non plus 
Marsh Posté le 21-09-2003 à 17:48:06
| red faction a écrit : je suis en mission inconnue puis jparle pas au fossilles non plus  | 
 
 
alors ça c petit !
Marsh Posté le 21-09-2003 à 17:48:10
bon ouais c ptet en 2e jsais plus mais tjs qd 1e y font pratiquement tout en C
Marsh Posté le 25-09-2003 à 15:51:29
scanf ("%d",ptstruct[i].nbCote); 
et ça aussi ça marche? 
 
T'utilise 3 fois scanf et 2 fois tu te plantes! 
Passes par une variable intermédiaire, c'est plus sûr. 
 
| Code : 
 | 
 
puis après: 
| Code : 
 | 
Marsh Posté le 21-09-2003 à 16:51:11
J'explique mon cas :
Soit ceci :
J'alloue dynamiquement cette structure :
ensuite :
Et lorsque je veux remplir ce tableau avec ça :
Y a un bleme avec l'initialisation
Donc si je veux 5 * pCote, et que je les initialise avec
1,2,3,4,5 ben quand je les imprimerai ça donnera :
1,4,9,13,17 soit
(ptstruct+i)->pCote+sizeof(j));
C'est clair nan ?
Une solution ?
ça doit être une bete erreur mais bon...
Message édité par koude le 21-09-2003 à 17:28:21