Módulo: Estructuras de datos avanzadas y C23
Este módulo forma parte del curso de C. .
Este módulo avanzado completa el dominio del lenguaje C cubriendo estructuras de datos dinámicas, programación a nivel de bits, manejo profesional de errores y las novedades del estándar C23 (ISO/IEC 9899:2024).
Listas enlazadas
Las listas enlazadas son estructuras de datos dinámicas formadas por nodos que se encadenan mediante punteros. A diferencia de los arrays, permiten insertar y eliminar elementos en O(1) al inicio sin necesidad de desplazar otros elementos, y su tamaño se determina en tiempo de ejecución.
typedef struct Nodo {
int valor;
struct Nodo *siguiente;
} Nodo;
Operadores de bits
Los operadores &, |, ^, ~, << y >> permiten manipular los datos a nivel binario. Son esenciales en sistemas embebidos, protocolos de comunicación, manejo de flags y optimizaciones de bajo nivel.
Manejo de errores con errno
C gestiona los errores mediante convenciones: códigos de retorno, la variable global errno y funciones como perror() y strerror(). Escribir código robusto requiere comprobar sistemáticamente los valores de retorno de las funciones de la biblioteca estándar.
Novedades de C23
El estándar C23 (2024) introduce bool/true/false como palabras clave nativas, nullptr como constante de puntero nulo tipada, typeof para inferencia de tipos en macros, constexpr, nuevos atributos estándar ([[nodiscard]], [[deprecated]], [[fallthrough]]) y mejoras en la biblioteca estándar como <stdbit.h>.
Otros módulos de este curso
Estructuras de datos avanzadas y C23
Todos los módulos del curso
Navega entre los módulos de C
Estructuras de datos avanzadas y C23
Estás aquíExplora más sobre C
Descubre más recursos de C
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, C es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.