DoomAngel Le 20/11/2004 à 21:41Edité par Ximoon le 20/11/2004 à 21:47 lol je viens de me lancer dans l'utilisation des tableaux à 3 dim. C'est trop bien à gérer!!!
Sinon quelqu'un pourrai m'expliquer pourquoi dans la doc de TIGCC, il est dis que pour déclarer un tableau de taille déjà connue,
il vaudrai mieu faire des "calloc"???
parce que moi, pour déclarer par exemple un tableau map[10][10][10],
je fais: int map[10][10][10]={{{0}}};
est-ce que c'est correct?
parce que une fois le prog compilé, le tableau map ne prend pas : sizeof(int)*10*10*10 en plus des codes normaux.
edit par Ximoon: fix des indices/couleurs
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)
Zeph Le 20/11/2004 à 21:47 J'ai pas trop capté la question, juste deux trucs :
- Quand tu met des [10] dans ton code, c'est interpreté comme une balise couleur, donc elle disparait dans ton post. Edite mon post pour voir comment faire pour éviter ça, ou bien met des espaces avant et après les [ ].
- ptr = calloc(a,b) c'est la même chose que ptr = malloc(a * b); memset(ptr,0,a * b);

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
lol je viens de me lancer dans l'utilisation des tableaux à 3 dim. C'est trop bien à gérer!!!
Sinon quelqu'un pourrai m'expliquer pourquoi dans la doc de TIGCC, il est dis que pour déclarer un tableau de taille déjà connue,
il vaudrai mieu faire des "calloc"???
parce que moi, pour déclarer par exemple un tableau map[ 10 ][ 10 ][ 10 ],
je fais: int map[ 10 ][ 10 ][ 10 ]={ { { 0 } } };
est-ce que c'est correct?
parce que une fois le prog compilé, le tableau map ne prend pas : sizeof(int)*10*10*10 en plus des codes normaux.
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)
ptr = calloc(a,b)
ben justement, je trouve que c'est plus long d'écrire ca que de mettre ptr = { { 0 } }
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)
Zeph Le 20/11/2004 à 21:54 Sauf que c'est pas comparable... Avec int map[10][10][10], tu déclares un tableau qui va sur la pile (qui ne contient que 16ko), alors qu'avec calloc tu l'alloues en RAM.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
oh d'accord!!! je vois
mais comment je fais pour déclarer : int map[ 3 ][ YMAX+1 ][ XMAX+1 ] en tant que variable globale???
j'ai essayé : int map = calloc(3*(YMAX+1)*(XMAX+1),sizeof(int));
mais apparemment c'est pas bon
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)
oula c bizarre comme accès. bon ok alors j'ai fait la solution 3 de l'aide de tigcc.
sinon quand on fait fopen et après des fread, ca tombe dans la pile?
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)
ok alors c'est parfait, je comprenais pas pourquoi j'avais pas besoin de faire des free.
mais j'ai un pote qui vient de m'expliquer le concept de la pile.
je croyai que c'était comme une pile électrique.... (ok rigolez lol)
J'ai eu comme un tilt quand j'ai fait le int map = {{{0}}}
parce que le prog est passé de 7000 et quelques à 19000. mais ca marchait bien...
sinon Wars Of Legend avance bien.
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)