C/C++ question taille de tableau - Programmation
Marsh Posté le 23-09-2001 à 20:28:05
Ben tu le connais forcement puisque tu l'a alloué sous la forme
int tab[15];
non...je crois que j'ai pas compris la question
Marsh Posté le 23-09-2001 à 20:33:24
si t'as int t[300]
sizeof(t)/sizeof(int) retourne 300
mais si t'as int *t=new int[300] ben la y'a pas de moyen
pour recuperer la taille. Tu peux passer par un vecteur d'entiers:
vector<int> t(300);
t.size(); //retourne 300
Marsh Posté le 23-09-2001 à 20:38:22
voila, c est que reccupere un pointeur donc je peux pas savoir la taille du "tableau",
ok, bon c pas grave, merci quand meme
[edtdd]--Message édité par slvn--[/edtdd]
Marsh Posté le 24-09-2001 à 03:38:16
Si si c'est pareil, lorque c'est un pointeur il divise la taille du tableau par la taille d'un élément avec leur nombre d'octets.
Marsh Posté le 24-09-2001 à 10:45:09
???
char *ptr;
sizeof(ptr) = 4 octects ..
pour connaitre la taille de ton tableau dynamique, tu es obligé de connaitre le nombre d'element qui se trouve dedans .. Et pour ca le mieux et d'utiser une variable que tu incrementeras / decrementeras à chaque fois que tu ajoutes ou supprimes un element dans ton tableau.
apres taille = sizeof(char)*nbelement;
Marsh Posté le 24-09-2001 à 13:35:11
koulip31> non, y a pas de vérification des limites en C++
La solution la plus simple, la plus propre, la plus portable... (la mieux quoi ), c'est un vector comme l'a dit aqwsezsxdr. La méthode size() fonctionnera dans tous les cas...
Marsh Posté le 24-09-2001 à 13:45:58
ma fonction va voller dans le decord !!!!
geronimo!!!!!
warrf pas cool le C++
Marsh Posté le 24-09-2001 à 14:10:36
koulip31> en fait tu t'es trompé de topic, mais pour planter une bécane, rien de tel que de sortir d'un tableau ... mais attention avec des vraies valeurs aberrantes
Marsh Posté le 24-09-2001 à 15:20:09
la viper a écrit a écrit : ??? char *ptr; sizeof(ptr) = 4 octects .. pour connaitre la taille de ton tableau dynamique, tu es obligé de connaitre le nombre d'element qui se trouve dedans .. Et pour ca le mieux et d'utiser une variable que tu incrementeras / decrementeras à chaque fois que tu ajoutes ou supprimes un element dans ton tableau. apres taille = sizeof(char)*nbelement; |
Justement supposons que le tableau a n éléments de 4 octets, sa tailel sera de n*4 octects ! ! !
Marsh Posté le 23-09-2001 à 20:18:48
qq petites questions C++ :
si t est tableau d entier, comment savoir le nombre d element,