Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
658 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] Nombre d'éléments d'un tableau dynamique ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Nombre d'éléments d'un tableau dynamique ???

n°204284
juju-le-ba​rbare
Posté le 28-08-2002 à 22:13:24  profilanswer
 

Bonjour,
 
Imaginons que je créé un tableau statique 'a' de 256 int (int de 4 octets) :
 
char a[256];
 
* pour connaitre la taille du tableau je fais :
sizeof(a); /*1024*/
 
* pour connaitre la taille d'un élément (d'un int donc) je fais :
sizeof(a[0]); /*4*/
 
* pour connaitre le nombre d'éléments de ce tableau je fais :
sizeof(a)/sizeof(a[0]); /*256*/
 
Maintenant imaginons qu'il s'agisse d'un tableau dynamique b avec les mêmes caractéristiques :
 
char *b = new char[256];
 
* pour connaitre la taille du tableau je fais :
sizeof(a); /*??? J'ai la taille du pointeur, soit 4 !*/
 
* pour connaitre la taille d'un élément (d'un int donc) je fais :
sizeof(a[0]); /*4 ici ça roule*/
 
* pour connaitre le nombre d'éléments de ce tableau je fais :
sizeof(a)/sizeof(a[0]); /*Logiquement j'ai 4/4 soit 1, mais pas 256 :( */
 
 
Donc pour manipuler les tableaux dynamiques, ça marche comment ???
 
Merci :hello:


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
mood
Publicité
Posté le 28-08-2002 à 22:13:24  profilanswer
 

n°204289
verdoux
And I'm still waiting
Posté le 28-08-2002 à 22:37:18  profilanswer
 

ben tu fais
std::vector<char> v;
v.size();


Message édité par verdoux le 28-08-2002 à 22:37:42
n°204293
farib
Posté le 28-08-2002 à 22:55:10  profilanswer
 

a  est un pointeur de caractere, pas un tableau

n°204296
HelloWorld
Salut tout le monde!
Posté le 28-08-2002 à 23:34:47  profilanswer
 

Je suppose que c'est
int a[256];
et pas
char a[256];
(chez moi sizeof(char) = 1)
 
perso, je fait
 
#define A_SIZE 256
int a[A_SIZE];
 
le sizeof(a) j'aime pas ...
pour les éléments dynamiques, ben tu créés un variable dans laquelle tu stockes la taille ...
 
int b_size = 256;
char * b = new char[b_size];


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°204299
LeGreg
Posté le 28-08-2002 à 23:45:00  profilanswer
 

sizeof est un opérateur résolu à la compilation.
Donc comme dynamique implique taille connue a l'exécution
c'est normal que ca ne marche pas.
 
Ceci dit sizeof dans le cas d'un tableau c'est juste du sucre syntaxique pour que le programmeur n'ait pas a faire le calcul lui-meme. Evidemment ca ne marche pas pour un tableau dynamique mais comme on dit il y a de la limite à la paresse du programmeur :).
 
LeGreg


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] Nombre d'éléments d'un tableau dynamique ???

 

Sujets relatifs
Calcul du nombre de jours entre 2 dates[java] peut on passer un tableau en argument d'un constructeur ?
[HTML/JS]Option value dans une liste dynamiqueA propos de la taille des cellules dans un tableau
[CSS] Proprietes de certains elements [REGLE]PHP - Additionner les éléments d'un tableau
fasttemplate dynamiquenombre d'objet ds un doc XML (avec un parseur de type DOM)
recuperation d'un "ARRAY" dans un tableau.. 
Plus de sujets relatifs à : [C++] Nombre d'éléments d'un tableau dynamique ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR