Par ailleurs, ce sujet regroupe les règles spécifiques à cette section, ainsi qu'un certain nombre d'informations utiles.
Ce forum est destiné à l'entraide concernant la programmation en langage C, et les technologies qui l'entourent (comme la SDL).
Il existe un forum de C++ pour les discussions sur le C++.
Les discussions d'algorithmique ou de programmation en général doivent se faire dans le forum autres langages.
Les questions concernant la programmation de bots type programmes qui jouent automatiquement à un jeu pour vous, virus, chevaux de troie, keyloggers, keygens ou autres cracks ne sont pas les bienvenues, même lorsque c'est légal.
Toute discussion hors-sujet sera fermée.
Informations utiles
La suite de ce sujet présente diverses informations en rapport avec le langage C. N'hésitez pas à la lire, un début de réponse à votre question s'y trouve peut-être !
Dans un premier temps, voyons les documents de référence (en anglais). Ces documents décrivent ce qu'est le langage C. Le C89, C99 et C11 représentent des versions différentes du langage C.
Si le cours du site vous semble peu clair sur certains point, vous pouvez essayer d'aller lire un autre cours. Il existe de nombreux cours de C gratuits en ligne ; en voici une petite sélection (non-exhaustive).
Le langage C norme ANSI (de Brian W. Kernighan et Dennis M. Ritchie), par les concepteurs du langage. On ne le présente plus. Aussi nommé “K&R”.
Apprenez à programmer en C (de Mathieu Nebra), le livre des zéros.
Méthodologie de la programmation en C (de Achille Braquelaire), une excellent présentation du C et plus précisément de la norme C99.
Programmer en langage C (de Claude Delannoy), une initiation au C.
C en action (de Yves Mettier), cet ouvrage est construit sur le modèle : un problème, une solution, une discussion; réservé aux initiés.
Algorithmes en langage C : Cours et exercices (de Robert Sedgewick), présente un ensemble assez complet d'algorithmes, écrits en C.
Développement système sous Linux (de Christophe Blaess), présente l'interaction avec le système (sous Linux) : gestion mémoire, programmation réseau…
C Unleashed (de Richard Heathfield, Lawrence Kirby et Ian Woods), en anglais : présentation de nombreux concepts et techniques avancées. À réserver aux experts.
Des exercices
Voici quelques sites proposant des exercices s'entraîner et progresser :
En outre, n'hésitez pas à aller voir les exercices proposés dans d'autres langages, la plupart sont très simplement transposables en C.
Des FAQs
FAQ signifie en français Foire Aux Questions. Il s'agit de listes de questions fréquemment posées sur les forums, avec leurs réponses. Elles permettent de gagner beaucoup de temps en évitant de répondre à la même question vingt fois par jour.
Pour apprendre à programmer, il faut 1) écrire du code, 2) lire du code. Ce deuxième point est souvent négligé, même par d'excellents programmeurs. N'hésitez pas à télécharger les sources de votre logiciel libre préféré, et à essayer de les lire. Voici quelques sites proposant des sources en libre accès (tous langages confondus).
Toutes ces ressources devraient déjà te tenir occupé(e) un bon moment ! Si par la suite, tu n'as plus d'idées de choses à faire en C, tu pourras toujours te lancer dans l'apprentissage des systèmes d'exploitation, de l'algorithmique, de la programmation en réseau, et bien d'autres encore !
Bon apprentissage, amuse-toi bien.
Paraze, GuilOooo et tous les contributeurs de ce post-it.