Um programa usa memória de duas formas principais:
- Stack (pilha): memória organizada para variáveis locais e chamadas de função (rápida, automática).
- Heap: memória alocada dinamicamente (o que o programa pede em runtime).
- Por que importa (muito): os bugs mais clássicos de baixo nível são de memória mal gerenciada — escrever além do espaço reservado (overflow) na stack ou heap. Entender memória é entender essa classe de falha (D).