typestar

Punteros y memoria

25 pasos en 7 series de C.

El tour del que C se trata en realidad. Primero punteros, luego punteros genéricos y a funciones, y después malloc y free y la pregunta de quién es dueño de qué.

Hay una serie llamada Propiedad y errores, y está ahí porque C no te ayuda con ninguna de las dos cosas. Los structs y las cadenas en memoria lo cierran. Veinticinco pasos, y aquí es donde C deja de ser un lenguaje común y pasa a ser aquel sobre el que todo lo demás está construido.

Empieza este tour

Punteros

Punteros genéricos y a funciones

  • Punteros voidUn puntero void guarda cualquier dirección de objeto; el cast de vuelta es tu responsabilidad.
  • Punteros a funciónEl nombre de una función es una dirección: se puede guardar, pasar y llamar.
  • Callbacks con contextoLa convención de C para un callback: el puntero a función más un puntero void tuyo.
  • qsort con comparadorEl ordenamiento estándar recibe el tamaño del elemento y una función de comparación.

Memoria dinámica

Propiedad y errores

Structs

  • StructsAgrupar campos relacionados en un solo tipo de valor.
  • Punteros a structMutar un struct a través de un puntero con ->.
  • typedefDarles a los tipos nombres más cortos y claros.

Cadenas en memoria

Bis

  • dynamic_stack.cUna pila de enteros que crece, respaldada por malloc y realloc.
  • vector.cUn arreglo que crece como módulo hecho y derecho: create, push, get, destroy.

Los otros tours de C