AnyCompiler

Introdução ao C

C é uma linguagem compilada, de tipagem estática, sem garbage collector, sem classes e sem exceptions — apenas functions, structs e controle direto sobre a memória. Foi criada no início da década de 1970, e a maioria dos sistemas operacionais, runtimes de linguagens e bancos de dados (incluindo os runtimes de Node.js, Python e Java usados em outras partes deste site) ainda têm um núcleo de C por baixo.

Todos os outros cursos deste site são construídos sobre algum tipo de rede de segurança — um garbage collector, um borrow checker, destructors RAII. C não tem nada disso. Quando você aloca memória, é sua responsabilidade liberá-la; quando você tem um pointer, nada te impede de usá-lo incorretamente. Esse é o verdadeiro tradeoff deste curso: controle total, sem guardrails.

Uma prévia rápida

Aqui está um programa C real, executado de verdade no próprio compilador desta página — não é uma simulação:

#include <stdio.h>

int main() {
    printf("C: the language that's actually running underneath everything else.\n");
    return 0;
}
Output
C: the language that's actually running underneath everything else.

Isso é printf, a forma padrão do C de produzir output. A próxima lição executa seu primeiro programa completo e explica exatamente o que está acontecendo.

Practice exercise

Declare uma variável chamada version de tipo int fixada em 17, depois imprima "C version: " seguido de version usando printf com %d.