Allocation dynamique de structur

tekcimo Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour ,
, je veut faire une fonction qui parcourt un tableau de fiches et les affiche , puis tester cette fonction
avec un tableau statique rempli manuellement. (j'ai deja fais une fonction qui affiche et initialiser une fiche ) quelqun peut m'aider ?
A voir également:

1 réponse

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut tekcimo,

Quel est ton problème ?

Voilà quelques indications.

En C, lorsque tu passes à une fonction le nom d'un tableau, tu passes en réalité un pointeur sur le premier éléments de ce tableau. La fonction, elle-même, devra aussi savoir quel est le nombre d'éléments de ce tableau.

Donc, le prototype pourrait ressembler à cela :
void afficher_fiches(struct fiche * f, size_t nb);
ce qui permettrait, à l'intérieur de la fonction, d'accéder au membre nommé "identifiant" contenu dans la troisième fiche du tableau, par exemple, en faisant
f[2].identifiant
.

En utilisant l'opérateur crochets, le C permet d'accéder aux éléments placés consécutivement dans la mémoire, car il est en mesure de déterminer la taille de chaque élément de type
struct fiche
et il peut donc calculer le déplacement nécessaire par rapport à l'adresse du premier élément, pour accéder au nème.

Dal
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Sinon, ton titre "Allocation dynamique de structur" n'a rien à voir avec ce que tu indiques dans ton post, puisque tu dis que tu vas utiliser un "tableau statique rempli manuellement"... à moins que tu testes avec un tableau statique quelque chose qui serait, dans la réalité, alloué dynamiquement.

Quoi qu'il en soit, cela ne changerait rien à la fonction elle-même, qui accéderait de la même façon à la zone mémoire contenant les éléments
struct
les uns à la suite des autres.
0