Les structures peuvent être passés comme arguments de fonctions de la même façon que tout autre type :
void fonction(struct fiche employe, int n);
et le mot struct
est facultatif. Cependant, le passage dune structure peut poser problème, puisquil sagit souvent déléments volumineux en mémoire. Cest pourquoi on préfère en général passer les structures sous la forme de pointeurs :
void fonction(fiche *pempl, int n);
ou de références :
void fonction(fiche &employe, int n);
Evidemment, de tels passages sont obligatoires si la fonction doit avoir un effet de bord modifiant la structure. Dans le cas contraire, on aura intérêt à préciser le pointeur ou la référence comme désignant une structure constante, à laide du mot const
, comme on la dit au chapitre précédent.
Lorsquune structure est passée entièrement, cest-à-dire par valeur, certains compilateurs C++ émettent un avertissement : Warning : Structure passed by value. Cest le moment ou jamais de réfléchir si ce passage par valeur est réellement nécessaire. Dans laffirmative, il suffit dignorer le message.
![]() | ![]() | Suivant ![]() |