IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Retourner le nombre d'éléments dans un tabmeau


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 24
    Points : 14
    Points
    14
    Par défaut Retourner le nombre d'éléments dans un tabmeau
    Bonjour,

    Je voudrais savoir comment peut on retourner le nombre d'éléments d'un tableau.

    Merci.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    En utilisant l'opérateur sizeof()

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    ATTENTION:
    Il faut usiliser sizeof() sur le tableau lui-même et non pas sur un quelquonque pointeur qui pointerait vers lui.

    Et sizeof() donne la taille en octet, pour avoir son nombre d'éléments, on utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeof(tableau)/sizeof(tableau[0])
    À noter que certaines macros font déjà cela, mais elles doivent dépendre du compilateur, comme ARRAYSIZE sous Visual C++...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Si c'est un tableau C++, c.a.d un vector, alors tu as la focntion membre size().
    http://c.developpez.com/faq/cpp/?page=STL#STL_vector
    sinon, si c'est un tableau dynamique, il faut stocker la taille quelque part. Si c'est un tableau statique, tu peux utiliser la solution de Fiquet / Médinoc, ou la variante templatée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template<typename T, size_t N>
    inline size_t length_of(T(&)[N])
    {
        return N;
    }

Discussions similaires

  1. [MySQL] comment trouver le nombre d'éléments dans une sgbd
    Par Bathou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/06/2008, 17h29
  2. Compter le nombre d'éléments dans un fichier texte
    Par Olivier Regnier dans le forum Langage
    Réponses: 13
    Dernier message: 21/11/2007, 16h02
  3. Retourner le nombre de ligne dans un hash
    Par raphy75 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2007, 21h17
  4. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01
  5. Comparaison de base et calculs du nombre d'éléments dans Bas
    Par BXDSPORT dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2004, 08h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo