Comment déterminer le nombre déléments dans un tableau, en C???
Rien dans la structure n'indique la taille. A toi de gérer ça en la stockant par exemple dans le premier élément.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Per example je déclare un tableau char[100][10] , chaque ligne ne fait pas forcément 100 octets, je ne peut pas déterminer sa taille par sizeof(quelque chose)
je penses pas...
tu peux faire un tableau de pointeur...
et à chaque pointeur, tu associe un autre tableau, de la taille précise de ce que tu veux...
tu peux utiliser le principte de chaines C:
tu termine ton tableau reel (pas déclaré) par un nombre que tu est sur de ne pas utiliser dans ton tableau
(caractère nul pour les chaines de caractère)
il n'ya aucune methode formelle

fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay
si tu fais NomDuTableau=malloc(TailleDuTableau);
Et pour accéder aux différents éléments du tableau, tu ne peux pas faire Nomdutableau[l][c], tu dois faire une macro qui le fait à ta place (enfin je te le conseille).
#define tableau(l,c) NomDuTableau[(l)*NbCol+c]
Les parenthèses autour du l sont très importantes.
J'ai pas très bien expliqué :
Tu ne peux pas allouer en RAM un tableau déclaré sous la forme Tableau[NbLignes][NbCol]={...};
Il faut faire ça :
int Tableau[2][3]={{0,1,2},{3,4,5}};
int *PtrTab;
PtrTab=malloc(2*3*sizeof(int));
memcpy(PtrTab,Tableau,2*3*sizeof(int));
Puis là tu peux utiliser la macro du post 10 (NomDuTableau doit être PtrTab, dans l'exemple ci-dessus)
mat Le 16/02/2002 à 11:50 j'ai pas trop compris ta macro pour accéder au différents éléments du tableau aprés une allocation dynamique.
Par exemple pour avoir le 4:
au lieu de faire tableau[2][2]
qu'est ce qui faut faire?
[edit]Edité par mat le 16-02-2002 à 11:51:44[/edit]
Vive le coding gba.
www.codegba.fr.st
Déjà, pour le 4, il faudrait faire tableau[1][1], mais là, tu fais tableau(1,1).