Commentça marche

steftou -  
 Utilisateur anonyme -
Bonsoir à tous,

voila j'aimerai s'il y a une fonction qui permet de determiner le nombre d'élements qui se trouve dans un tableau de fichiers sans que l'utilisateur ne le lui donne à partir du clavier.
Par exemple pour un tableau d'entiers, on fait:

int a,tab[30];

a=sizeof(tab)/sizeof(tab[0]);

2 réponses

  1. loupius
     
    Je ne sais pas ce que tu entends par 'tableau de fichiers'.
    Pour ce qui est de ton tableau d'entier: si tu obtiens la taille effective du tableau, c'est que le compilateur n'est pas idiot, tu viens juste de lui dire 'tab[30]'... cqfd !
    Bonne continuation.
    0
  2. Utilisateur anonyme
     
    Un tableau de fichiers ?

    Des chaines de caractères ? si c'est ça c'est la même chose !

    avec le compilateur GCC il me semble que les entiers sont sur 8octets. donc un tableau d'entiers de 10 éléments fera 10*8 => 80 octets. Donc sizeof(tab) renvoi 80.

    Donc chacune des cellules du tableau font 8 octets. 80/8 => 10

    Donc quelque soit le type de tableau (entier, double, char ...) le principe est le même.

    De plus tu dis tab[30] donc tu connais la taille à l'avance, il est plus judicieux d'utiliser une variable constante par exemple :

    #define TAILLE 30
    
    int main(void)
    {
      int tab[TAILLE];
    }


    Ainsi quand tu voudras faire un for pour explorer le tableau tu utiliseras TAILLE et non 30, plus simple surtout si tu veux augmenter la taille ...
    0