Domina a Linguagem C.
Da Memória aos Algoritmos.
Um guia moderno, prático e rigoroso para aprenderes a linguagem mãe dos sistemas operativos, compiladores e motores gráficos. Sem rodeios, com código real e explicação visual de ponteiros.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int valor = 42;
int *ptr = &valor; // Aponta para o endereço
printf("Valor: %d\n", *ptr);
printf("Endereço RAM: %p\n", (void*)ptr);
// Modificação direta na memória
*ptr = 100;
printf("Novo valor: %d\n", valor);
return 0;
}Os Pilares da Computação de Baixo Nível
Aprender C transforma a maneira como pensas sobre como o teu computador funciona.
Performance e Hardware
Sem *garbage collector* e sem camadas intermediárias. O teu código traduz-se diretamente em instruções de máquina velozes.
Ponteiros e Memória RAM
Domina de vez a diferença entre Stack e Heap, alocação com malloc, desalocação com free e aritmética de apontadores.
Boas Práticas e Segurança
Aprende a compilar com as flags rigorosas do GCC (-Wall -Wextra) e a inspecionar fugas de memória com o valgrind.
Aulas Disponíveis
Seleciona uma aula para começar a estudar ou segue o percurso recomendado.
Introdução e o Primeiro Programa em C
Aprende a estrutura fundamental de um programa em C, a biblioteca standard stdio.h e como compilar com GCC.
Variáveis, Tipos de Dados e Entrada/Saída
Domina os tipos primitivos em C (int, char, float, double), tamanhos em bytes com sizeof e entrada de dados com scanf.
Ponteiros e Gestão de Memória Desmistificados
Aprende o que são ponteiros em C sem medo: endereços de memória, operador &, operador de desreferenciação * e ponteiros nulos.
Alocação Dinâmica com malloc, calloc e free
Descobre como requisitar memória na Heap em tempo de execução, redimensionar blocos e evitar memory leaks graves.
Como Compilar o Teu Primeiro Ficheiro C
Precisas apenas de um compilador instalado no teu terminal. Eis como preparar o teu ambiente:
🐧 Linux (Ubuntu / Debian / Mint)
sudo apt update && sudo apt install build-essential gdb valgrind🍎 macOS
xcode-select --install🪟 Windows (via MSYS2 ou WSL)
winget install MSYS2.MSYS2Ou ativa o WSL2 (Linux para Windows) com wsl --install.