O que é o formato de ficheiro C?
.c é um arquivo de código-fonte para a linguagem de programação C. C é uma linguagem procedural de propósito geral e é considerada uma linguagem de programação de nível médio amplamente utilizada para o desenvolvimento de aplicações de software, sistemas operacionais e sistemas embarcados. Criada por Dennis Ritchie nos Bell Labs em 1972, foi padronizada pela ANSI e ISO através de várias revisões - o padrão atual é o C23.
Arquivos com a extensão .c são acessíveis com editores de texto e um usuário pode ler ou escrever o código nesses arquivos através de um software editor de texto simples ou uma IDE completa. O arquivo .c contém o código real escrito pelo desenvolvedor junto com outras informações, como diretivas de pré-processador (como #include e #define) e comentários. Antes de ser executado, um arquivo .c deve ser compilado por um compilador C, como o gcc ou clang, em um arquivo de objeto e, em seguida, vinculado a um executável.
Arquivos .c são específicos para a linguagem C e não devem ser confundidos com arquivos de origem C++, que usam extensões como .cpp ou .cc. Declarações compartilhadas entre múltiplos arquivos .c são colocadas em arquivos de cabeçalho com a extensão .h.
Segurança e proteção
RISCO: LOWUm arquivo .c é texto simples e não pode ser executado por conta própria, portanto, abrir um em um editor é seguro. O risco aparece apenas quando você COMPILA e EXECUTA código C desconhecido: o código de uma fonte não confiável pode fazer qualquer coisa que um programa pode fazer depois de compilado (excluir arquivos, acesso à rede, instalar malware), e a natureza de baixo nível do C torna o código malicioso ou com bugs fácil de esconder. Leia o código antes de compilá-lo, compile código não confiável em um sandbox/VM e nunca execute um binário compilado em que você não confia. A extensão do arquivo em si não carrega exploits - o perigo está no que o código faz após a compilação.
Detalhes do formato
em resumo- Arquivo de origem C++ (legado) - Historicamente, .c (e .C maiúsculo no Unix sensível a maiúsculas) também era usado para código-fonte C++, o significado no nome «C/C++» deste banco de dados; o C++ moderno usa .cpp/.cc/.cxx.
- Letra de volume DOS/Windows ou dados genéricos - Raramente, «c» aparece como um artefato que não é código-fonte (ex: um nome de letra única perdido); o significado de código-fonte domina esmagadoramente.
Programas que abrem arquivos C
Detalhes técnicos
especificação profunda| Tipo MIME | text/x-csrc |
| Codificação de caracteres | ASCII simples ou UTF-8; sem assinatura binária de magic-byte - identificado pelo conteúdo, não pelos bytes |
| Padrão da linguagem | Padronizado como ANSI C89, depois C99, C11, C17; o padrão atual é C23 (ISO/IEC 9899:2024) |
| Paradigma de programação | Procedural e imperativo; não suporta classes ou objetos nativamente |
| Gerenciamento de memória | Manual - o desenvolvedor aloca e libera memória heap usando malloc() e free() |
| Estágio de pré-processamento | O código-fonte é processado por um pré-processador antes da compilação, resolvendo #include, #define e diretivas de compilação condicional |
| Saída da compilação | Compilado para um arquivo de objeto (.o / .obj), depois vinculado a um executável ou biblioteca estática/compartilhada |
| Emparelhamento de cabeçalho | A lógica de implementação reside em arquivos .c; declarações compartilhadas entre unidades de tradução vão em arquivos de cabeçalho .h emparelhados |
| Principais aplicações | Kernels de SO, firmware embarcado, compiladores, bancos de dados e software de sistema crítico para desempenho |
| Sintaxe de comentários | Comentários de bloco /* ... */ suportados desde o C89; comentários de linha única // adicionados no C99 |
| Portabilidade | O código em conformidade com a ISO é altamente portátil entre arquiteturas; as diferenças de plataforma são gerenciadas com guardas de pré-processador |
| Distinção de maiúsculas e minúsculas | Em sistemas de arquivos sensíveis a maiúsculas (Linux, macOS), o .C maiúsculo convencionalmente denota um arquivo de origem C++, distinto do .c minúsculo |
| Ecossistema de compiladores | Compilado por GCC, Clang/LLVM, MSVC, Intel oneAPI C++, e TinyCC entre outros |
| Lançado | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.iso.org |
Conversões de C
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos C.