Taille d'un tableau

Résolu/Fermé
Maelyy17 Messages postés 13 Date d'inscription mercredi 14 octobre 2015 Statut Membre Dernière intervention 27 novembre 2016 - Modifié par Maelyy17 le 15/11/2016 à 12:23
Maelyy17 Messages postés 13 Date d'inscription mercredi 14 octobre 2015 Statut Membre Dernière intervention 27 novembre 2016 - 15 nov. 2016 à 22:25
Bonjour,
J'aimerai savoir sil existe une fonction pour donner la taille d'un tableau de ce type et comment l'utiliser,

int tab [4] = {4, 34, 15, 12};

1 réponse

[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 090
Modifié par [Dal] le 15/11/2016 à 12:33
Salut Maelyy17,

Si tu veux obtenir la taille occupée en mémoire, tu utilises sizeof(tab).

Si tu veux obtenir le nombre d'éléments susceptibles d'être stockés dans le tableau, tu dois diviser le résultat par la taille occupée en mémoire par un élément int.

#include <stdio.h>

int main(void)
{
    int tab [4] = {4, 34, 15, 12};
    printf("Nombre d'éléments dans tab : %d\n", 
            sizeof(tab) / sizeof(int));
    return 0;
}

Dal
0
Maelyy17 Messages postés 13 Date d'inscription mercredi 14 octobre 2015 Statut Membre Dernière intervention 27 novembre 2016 1
15 nov. 2016 à 12:48
Bonjour Dal,

Merci pour ses explications claires,
j'ai juste besoin d'une précision à la 7ième ligne le int est-il équivaut à *tab ?
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 090
15 nov. 2016 à 13:14
à la 7ième ligne le int est-il équivaut à *tab ?

je ne suis pas sûr de bien comprendre ta question...

cependant, comme indiqué dans ma réponse,
sizeof(int)
renvoie la taille occupée en mémoire par un élément de type int, donc "int" signifie juste "un élément le type int".

si tu fais
sizeof(*tab)
, tu passes à
sizeof()
le premier élément du tableau, qui est de type int. Donc, tu obtiens le même résultat, puisqu'il est de type int.
0
Maelyy17 Messages postés 13 Date d'inscription mercredi 14 octobre 2015 Statut Membre Dernière intervention 27 novembre 2016 1
15 nov. 2016 à 22:25
d'accord je comprends mieux,
Excellente soirée :)
0