indexPunteros y Memoria#pointers#memory#allocators#heap#c-layer

Punteros y Memoria

Esta es la rama donde bajo nivel hace click o no. Un puntero es simplemente una dirección con un tipo; de esa idea salen todo lo que hace rápido a C y todo lo que lo hace peligroso. Vamos profundo en el stack y el heap, malloc/free, aritmética de punteros, struct layout, los bugs clásicos (use-after-free, double-free, leaks, overflows) y escribir tus propios allocators para que dejes de tratar la memoria como infinita y empieces a manejarla con intención.

La memoria no es un detalle que el lenguaje te esconde acá — es el material con el que trabajás. Poseerla significa saber quién asigna, quién libera y qué está haciendo cada byte de un struct.

Notas planificadas

Fuentes centrales

  • Ulrich Drepper — What Every Programmer Should Know About Memory — el paper de memoria. https://www.akkadia.org/drepper/cpumemory.pdf
  • CS:APP — capítulos de dynamic memory allocation — cómo funciona realmente malloc. https://csapp.cs.cmu.edu/
  • Richard Reese — Understanding and Using C Pointers (O'Reilly) — punteros punta a punta. https://www.oreilly.com/library/view/understanding-and-using/9781449344535/
  • Ryan Fleury — Untangling Lifetimes: The Arena Allocator — arena allocation como herramienta de diseño. https://www.rfleury.com/p/untangling-lifetimes-the-arena-allocator
  • Doug Lea — A Memory Allocator (dlmalloc) y writeups de malloc de Dan Luu — internals reales de allocators. https://gee.cs.oswego.edu/dl/html/malloc.html · https://danluu.com/malloc-tutorial/

Conecta con: C desde el Metal · Modelo de Máquina · Assembly y Salida del Compilador · OS desde Cero