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;
}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.