Une structure à deux champs entiers est copiée, puis passée à deux fonctions écrites différemment.
Objectif
Prévoir la valeur du champ après chaque opération.
Les deux en-têtes comparées
void rate(struct Point p);
void bouge(struct Point *p);
La différence avec un tableau
Une structure se copie entièrement à l'affectation comme au passage de paramètre. Un tableau ne se copie ni dans un cas ni dans l'autre : son nom vaut l'adresse de sa première case, et la fonction appelée modifie donc bel et bien les cases de l'appelant. Deux constructions voisines, deux comportements opposés, et aucun message pour les distinguer.