Non ça marche, r = p ça sert à faire pointer r sur le maillon suivant (quand je dis suivant c'est selon l'ordre avant inversion), sans p ce ne serait pas possible puisque le maillon pointé par r n'a plus de lien vers son ancien "suivant".
Et faut savoir aussi qu'on ne crée jamais de liste ou de maillon dans cet algo, la liste est déjà existante et on veut l'inverser "sur place". Toutes les variables sont des pointeurs