Allocation dynamique de structur

Fermé
tekcimo Messages postés 1 Date d'inscription dimanche 31 mars 2019 Statut Membre Dernière intervention 31 mars 2019 - 31 mars 2019 à 18:11
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 1 avril 2019 à 13:03
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 ?

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 1 avril 2019 à 12:09
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 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 1 avril 2019 à 13:03
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