Bonjour.
Je souhaiterais connaitre la taille d'un tableau dynamique. Voici ce que j'ai trouvé dans la FAQ à ce sujet, mais sincèrement, je pense avoir atteint mes limites en C puisque je ne vois pas très bien ce que je peux faire avec ça. Merci à ceux qui pourront m'aider à y voir plus clair.
Le bout de code en question dont la description est la suivante :
Il n'existe pas en C de fonction permettant de connaître la taille d'un tableau alloué dynamique, il faut donc impérativement conserver cette taille. Voici un petit bout de code gérant une "pseudo-classe" vecteur et fournissant une fonction d'allocation, de désallocation et de récupération de la taille du tableau (en nombre d'éléments).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // TYPE est à remplacer par le type de ton choix #define TYPE int typedef struct { unsigned long size; TYPE *liste; } vector; void vector_new (vector *v, unsigned long size) { v -> size = size; v -> liste = malloc(size * sizeof *(v->liste)); } void vector_delete (vector *v) { free (v -> liste); v -> liste = NULL; v -> size = 0; } unsigned long vector_size(vector *v) { return v -> size; }
Partager