Qu'est-ce que le format de fichier C ?
.c est un fichier de code source pour le langage de programmation C. Le C est un langage procédural à usage général, considéré comme un langage de niveau intermédiaire largement utilisé pour le développement d'applications logicielles, de systèmes d'exploitation et de systèmes embarqués. Créé par Dennis Ritchie aux Bell Labs en 1972, il a été normalisé par l'ANSI et l'ISO à travers plusieurs révisions - la norme actuelle est C23.
Les fichiers avec une extension .c sont accessibles avec des éditeurs de texte et un utilisateur peut lire ou écrire le code dans ces fichiers via un simple logiciel d'édition de texte ou un IDE complet. Le fichier .c contient le code réel écrit par le développeur ainsi que d'autres informations telles que des directives de préprocesseur (comme #include et #define) et des commentaires. Avant d'être exécuté, un fichier .c doit être compilé par un compilateur C tel que gcc ou clang en un fichier objet, puis lié dans un exécutable.
Les fichiers .c sont spécifiques au langage C et ne doivent pas être confondus avec les fichiers sources C++, qui utilisent des extensions comme .cpp ou .cc. Les déclarations partagées entre plusieurs fichiers .c sont placées dans des fichiers d'en-tête avec une extension .h.
Sécurité et sûreté
RISQUE : LOWUn fichier .c est du texte brut et ne peut pas s'exécuter seul, donc en ouvrir un dans un éditeur est sûr. Le risque n'apparaît que lorsque vous COMPILEZ et EXÉCUTEZ du code C inconnu : une source provenant d'une origine non fiable peut faire tout ce qu'un programme peut faire une fois construit (supprimer des fichiers, accès réseau, installer des logiciels malveillants), et la nature de bas niveau du C rend le code malveillant ou buggé facile à cacher. Lisez le code avant de le compiler, construisez le code non fiable dans un bac à sable (sandbox) ou une VM, et n'exécutez jamais un binaire compilé en lequel vous n'avez pas confiance. L'extension de fichier elle-même ne comporte aucun exploit - le danger réside dans ce que fait le code après compilation.
Détails du format
en bref- Fichier source C++ (hérité) - Historiquement, .c (et .C majuscule sur Unix sensible à la casse) était également utilisé pour les sources C++, d'où le nom « C/C++ » dans cette base de données ; le C++ moderne utilise .cpp/.cc/.cxx.
- Lettre de volume DOS/Windows ou données génériques - Rarement, « c » apparaît comme un artefact non source (par exemple, un nom de fichier à une seule lettre) ; la signification liée au code source domine massivement.
Programmes qui ouvrent les fichiers C
Détails techniques
spécifications approfondies| Type MIME | text/x-csrc |
| Encodage des caractères | ASCII simple ou UTF-8 ; pas de signature binaire (magic bytes) - identifié par le contenu, pas par les octets |
| Norme du langage | Normalisé en tant qu'ANSI C89, puis C99, C11, C17 ; la norme actuelle est C23 (ISO/IEC 9899:2024) |
| Paradigme de programmation | Procédural et impératif ; ne supporte pas nativement les classes ou les objets |
| Gestion de la mémoire | Manuelle - le développeur alloue et libère la mémoire du tas (heap) en utilisant malloc() et free() |
| Étape de prétraitement | La source est traitée par un préprocesseur avant la compilation, résolvant les #include, #define et les directives de compilation conditionnelle |
| Sortie de compilation | Compilé en un fichier objet (.o / .obj), puis lié dans un exécutable ou une bibliothèque statique/partagée |
| Appairage d'en-têtes | La logique d'implémentation réside dans les fichiers .c ; les déclarations partagées entre les unités de traduction vont dans des fichiers d'en-tête .h appairés |
| Applications principales | Noyaux de systèmes d'exploitation, micrologiciels embarqués, compilateurs, bases de données et logiciels système critiques pour les performances |
| Syntaxe des commentaires | Commentaires de bloc /* ... */ supportés depuis C89 ; commentaires sur une seule ligne // ajoutés dans C99 |
| Portabilité | Le code conforme à l'ISO est hautement portable entre les architectures ; les différences de plateforme sont gérées avec des gardes de préprocesseur |
| Distinction de casse | Sur les systèmes de fichiers sensibles à la casse (Linux, macOS), le .C majuscule désigne conventionnellement un fichier source C++, distinct du .c minuscule |
| Écosystème de compilateurs | Compilé par GCC, Clang/LLVM, MSVC, Intel oneAPI C++, et TinyCC entre autres |
| Publié | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.iso.org |
Conversions C
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers C.