Les structures, au même titre que les variables peuvent être passées en paramètres dans des fonctions.
Lorsqu'une structure est passée en paramètre à une fonction, son contenu est copié localement dans son argument respectif, comme pour les variables.
// Passage par valeur
void fct (struct vector v);
Si une fonction doit modifier le contenu d'une structure, il faut utiliser un passage par variable.
Comme pour les variables, passer un pointeur de structure en paramètre d'une fonction lui permet d'accéder à son contenu en lecture et en écriture.
// Passage par variable
void fct (struct vector * v);
Notons que dans le cas d'un pointeur de structure, les champs sont accessibles avec l'opérateur ->
:
// Champ x du pointeur de structure v
v->x
Créer une structure vector
qui contient les coordonnées d'un
vecteur en 3 dimensions. Écrire une fonction norm()
qui reçoit un vecteur en
paramètre et retourne la norme (la longueur) du vecteur.
Dans le programme principal, demander à l'utilisateur de saisir les coordonnées de chaque composante du vecteur et afficher sa longueur.
Voici un exemple de calcul de la norme :
x=2.3 y=3.4 z=4.5 La norme du vecteur est : 6.090977
Créer une structure notes
qui contient trois notes (ds
, td
et tp
) et une
moyenne moyenne
. Écrire une fonction calcMoyenne()
qui calcule et
actualise le champ moyenne
de la structure en calculant la moyenne des
trois notes. Voici un exemple :
cm = 10.4 td = 12.8 tp = 16.4 --------------- Moyenne = 13.20
Pourquoi n'y a t-il pas de véritable question dans ce quiz ?