A Linguagem Que Alimenta Sistemas Operacionais, Compiladores e Hardware Embarcado
C não é uma curiosidade histórica — é a linguagem por trás do Linux, do mecanismo de banco de dados SQLite, do interpretador CPython e de praticamente todo firmware de microcontrolador enviado hoje. Entender C significa entender como a memória realmente funciona, como o processador executa suas instruções e por que cada linguagem de nível superior faz as compensações que faz. Esta trilha cobre C desde seu primeiro printf até escrever um alocador de memória, uma tabela hash, uma lista ligada e um interpretador funcional.
O Que Você Vai Aprender
Você começará com operadores, fluxo de controle, E/S formatada e conversão de tipo, depois passará para a biblioteca padrão — math.h, string.h, ctype.h — e tópicos específicos de C como enumerações, argumentos de linha de comando, classes de armazenamento e macros do pré-processador. A seção intermediária cobre ponteiros e gerenciamento dinâmico de memória, ponteiros de função e callbacks, funções variádicas e projetos modulares com múltiplos arquivos. Você implementará estruturas de dados essenciais do zero: listas ligadas, árvores binárias, tabelas hash e arrays dinâmicos. Os cursos avançados cobrem multithreading e concorrência, programação de sockets, comunicação entre processos, debugging de memória com Valgrind e programação de rede com epoll.
O Caminho de Aprendizado
Trinta e nove cursos abrangem A1 a C1. Os cursos A1 e A2 estabelecem sintaxe, recursão e a biblioteca padrão. Onze cursos B1 desenvolvem habilidades práticas — manipulação de arquivos, manipulação de bits, estruturas e unions, e o pré-processador. Dez cursos B2 vão mais fundo: memória dinâmica, algoritmos de ordenação, tabelas hash e culminando em C Building a Memory Allocator. Os sete cursos C1 encerram a trilha com trabalho em nível de sistemas: Multithreading and Concurrency, C Socket Programming, C Memory Debugging with Valgrind, C Writing a Simple Interpreter e C Network Programming with epoll.
Como Funciona
Cada curso é dividido em aulas curtas e focadas que você completa no editor de código integrado com feedback em tempo real sobre sua saída. Um tutor de IA está disponível sempre que você fica preso em um segfault, um erro de linker ou um off-by-one em aritmética de ponteiros. O progresso é rastreado por aula, então você pode pausar e retomar entre sessões sem perder sua posição.