¿Qué es el formato de archivo C?
.c es un archivo de código fuente para el lenguaje de programación C. C es un lenguaje procedimental de propósito general y se considera un lenguaje de programación de nivel medio ampliamente utilizado para el desarrollo de aplicaciones de software, sistemas operativos y sistemas embebidos. Creado por Dennis Ritchie en Bell Labs en 1972, ha sido estandarizado por ANSI e ISO a través de varias revisiones; el estándar actual es C23.
Los archivos con extensión .c son accesibles con editores de texto y un usuario puede leer o escribir el código en estos archivos mediante un software de edición de texto simple o un IDE completo. El archivo .c contiene el código real escrito por el desarrollador junto con otra información, como directivas del preprocesador (como #include y #define) y comentarios. Antes de ejecutarse, un archivo .c debe ser compilado por un compilador de C como gcc o clang en un archivo objeto y luego enlazado en un ejecutable.
Los archivos .c son específicos del lenguaje C y no deben confundirse con los archivos de fuente C++, que utilizan extensiones como .cpp o .cc. Las declaraciones compartidas entre múltiples archivos .c se colocan en archivos de cabecera con una extensión .h.
Seguridad y protección
RIESGO: LOWUn archivo .c es texto plano y no puede ejecutarse por sí solo, por lo que abrir uno en un editor es seguro. El riesgo aparece solo cuando se COMPILA y EJECUTA código C desconocido: la fuente de un origen no confiable puede hacer cualquier cosa que un programa pueda una vez construido (borrar archivos, acceso a la red, instalar malware), y la naturaleza de bajo nivel de C hace que el código malicioso o con errores sea fácil de ocultar. Lea el código antes de compilarlo, construya código no confiable en un entorno aislado/VM y nunca ejecute un binario compilado en el que no confíe. La extensión del archivo en sí no conlleva ningún exploit; el peligro está en lo que hace el código después de la compilación.
Detalles del formato
en pocas palabras- Archivo fuente C++ (legado) - Históricamente, .c (y .C en mayúscula en Unix sensible a mayúsculas) también se usaba para fuentes de C++, el significado en el nombre «C/C++» de esta base de datos; el C++ moderno usa .cpp/.cc/.cxx.
- Letra de volumen de DOS/Windows o datos genéricos - Raramente, «c» aparece como un artefacto que no es fuente (p. ej., un nombre de una sola letra extraviado); el significado de código fuente predomina abrumadoramente.
Programas que abren archivos C
Detalles técnicos
especificación profunda| Tipo MIME | text/x-csrc |
| Codificación de caracteres | ASCII plano o UTF-8; sin firma de magic bytes binarios: se identifica por el contenido, no por los bytes |
| Estándar del lenguaje | Estandarizado como ANSI C89, luego C99, C11, C17; el estándar actual es C23 (ISO/IEC 9899:2024) |
| Paradigma de programación | Procedimental e imperativo; no admite clases ni objetos de forma nativa |
| Gestión de memoria | Manual: el desarrollador asigna y libera memoria del montón (heap) usando malloc() y free() |
| Etapa de preprocesamiento | La fuente es procesada por un preprocesador antes de la compilación, resolviendo #include, #define y directivas de compilación condicional |
| Salida de compilación | Compilado a un archivo objeto (.o / .obj), luego enlazado en un ejecutable o biblioteca estática/compartida |
| Emparejamiento de cabeceras | La lógica de implementación reside en los archivos .c; las declaraciones compartidas entre unidades de traducción van en archivos de cabecera .h emparejados |
| Aplicaciones principales | Núcleos de sistemas operativos, firmware embebido, compiladores, bases de datos y software de sistema crítico para el rendimiento |
| Sintaxis de comentarios | Comentarios de bloque /* ... */ soportados desde C89; comentarios de una sola línea // añadidos en C99 |
| Portabilidad | El código conforme a ISO es altamente portable entre arquitecturas; las diferencias de plataforma se gestionan con guardas del preprocesador |
| Distinción por mayúsculas | En sistemas de archivos sensibles a mayúsculas (Linux, macOS), la .C en mayúscula denota convencionalmente un archivo de fuente C++, distinto de la .c en minúscula |
| Ecosistema de compiladores | Compilado por GCC, Clang/LLVM, MSVC, Intel oneAPI C++ y TinyCC, entre otros |
| Lanzado | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.iso.org |
Conversiones de C
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos C.