Bonjour !
C'est normal, vous gérez mal votre tableau "test" entre l'allocation et l'affichage :
"test" pointe vers N structures, accessibles par test[i], qui est une structure.
Lors de l'affichage, vous passez l'adresse de test et vous vous en servez en faisant un "(&test)[i]" et en considérant que c'est un pointeur sur une structure, alors que c'est &(test[i]) que vous auriez dû utiliser.
Soit vous modifiez le prototypage de la fonction affiche en lui passant un "struct releveTemps*", soit vous utilisez "(*s)[i]." au lieu de "s[i]->" dans la fonction d'affichage.
Note : La première solution paraît tellement plus logique que je ne peux que vous encourager à l'utiliser.
Par ailleurs, vous créez une fuite mémoire en allouant test[i].D puis en faisant test[i] = ..., la mémoire allouée est perdue aussi vite car plus référencée.
(Je ne parle pas du fait de ne pas du tout désallouer les champs "D" du tableau test, car j'imagine que cela sera fait dans la version finale, mais pas dans le programme de test fait pour illustrer le problème).
D'ailleurs, pourquoi utiliser un pointeur et ne pas mettre inclure directement une structure "date" dans la structure "releveTemp" ? Cela n'a de sens que si vous voulez pointer sur une mesure externe.