Bonjour,
(Oula oula !)
Il y a confusion là dans tout cela.
A la base, quelqu'un écrit un programme sous forme de texte tel celui ci dessus. Les programmes C sont habituellement écrits dans des fichiers textes dont on change l'extension en .c et .h. Ces extensions sont effectivement arbitraires puisque bon nombre de programmes C sont écrits dans des fichiers dont l'extension est .cpp (habituellement réservée au C++) On mettrait .zut ça marcherait aussi bien.
Une fois le programme écrit dans un ou plusieurs fichiers, il faut le transformer en un fichier exécutable pour une catégorie d'ordinateurs et parfois pour un système d'exploitation particulier (Windows, linux, Max OS...) C'est la phase de compilation et linkage. On a alors un nouveau fichier dont l'extension peut varier selon le système d'exploitation là encore. Pour prendre l'exemple de Windows, on obtient un .exe et ce programme exécutable ne marchera pas sous linux par exemple. Par contre on peut compiler exactement les mêmes fichiers .c et .h pour en faire un exécutable pour linux. (tant que l'on a utilisé que des fonctions standards du langage C)
Tous ces fichiers sources sont bien rangés dans un coin et ne craigne que les gestes malencontreux de l'utilisateur et les morts subites des disques durs ^^. Idem pour notre fichier exxécutable.
Notre fichier exécutable peut faire, hmmm... tout ce qu'on lui a demandé: compter jusque 100, afficher du texte, dessiner un cube en 3D etc... Disons allez, c'est un jeu. On lance une partie, on crée un personnage... tant que le programme est en marche, les informations jugée utiles par le programmeur du jeu sont conservées en mémoire. Si on ferme le jeu tout est oublié. Comme tu le dis, c'est toujours possible de relancer le .exe et de refaire un personnage et de rejouer... mais c'est lourd, donc on sauvegarde son personnage pour pouvoir continuer le même plus tard. Et il faut un moyen persistant de garder les informations. Soit comme dans les tout vieux jeu un code est affiché pour que l'utilisateur le recopie sur un bout de papier et le re-rentre quand il lancera le jeu de nouveau, soit on le met dans un fichier pour garder les informations sur le disque dur de l'ordi.
La gestion des fichiers au sein même du programme sert partout: au lecteur à charger des musiques, aux jeux de charger les images, les musiques, les sons, les options qu'avait choisit le joueur etc...
M.