DMarlon Studio

Curso de C avanzado

Para quien ya domina lo básico: las técnicas que se usan en proyectos reales. En DMarlon Studio, C se escribe en la consola: el estudio compila y ejecuta con un clic y muestra los errores en la línea donde están.

Empezar
  1. 1Punteros a punteros y aritméticaRecorra arrays en C con aritmética de punteros, reste punteros y use un puntero a puntero para que una función cambie a dónde apunta otro.Lección 1
  2. 2Memoria dinámica: malloc, calloc y freeReserve memoria en tiempo de ejecución en C con malloc y calloc, compruebe NULL y libérela con free: las notas de una clase y su histograma.Lección 2
  3. 3realloc y un array que creceConstruya en C un array dinámico que crece con realloc, duplicando su capacidad, para guardar lecturas de un sensor sin saber cuántas llegarán.Lección 3
  4. 4Cadenas a fondoTrocee líneas con strtok, construya textos con snprintf sin desbordar el búfer y copie con strncpy de forma segura en C, con strchr y strstr.Lección 4
  5. 5const y punterosDistinga en C entre puntero a const, puntero const y los dos a la vez, y use const en los parámetros para prometer que una función solo lee.Lección 5
  6. 6Punteros a funciones y callbacksGuarde funciones en variables y arrays con punteros a funciones en C y páselas como callbacks: reglas de precios aplicadas por pasos.Lección 6
  7. 7qsort y bsearch con comparadoresOrdene un array de structs en C con qsort y una función comparadora, y busque en él con bsearch: los productos de una tienda por precio y por código.Lección 7
  8. 8Structs con punteros en el montónCree en C un array de structs en el montón cuyos campos también son memoria dinámica, y libérelo todo en el orden correcto.Lección 8
  9. 9Una lista enlazadaPrograme en C una lista enlazada de tareas: nodos en el montón, añadir al final y al principio, borrar por id y liberar la lista entera.Lección 9
  10. 10Una pila y una colaUse una pila en C para comprobar si los paréntesis de una expresión están equilibrados y una cola circular para los trabajos de una impresora.Lección 10
  11. 11Un árbol binario de búsquedaConstruya en C un árbol binario de búsqueda que cuenta palabras: inserción recursiva, búsqueda, recorrido en orden y liberación del árbol.Lección 11
  12. 12Una tabla hashPrograme en C una tabla hash con encadenamiento: la función djb2, cubetas con listas enlazadas, colisiones y búsqueda de precios de bebidas.Lección 12
  13. 13Uniones y campos de bitsGuarde valores de distinto tipo en una unión con etiqueta y empaquete una fecha en bits con campos de bits en C, comprobando su tamaño con sizeof.Lección 13
  14. 14Operadores de bits y banderasGuarde varios permisos en un solo entero con banderas de bits en C: activar con |, quitar con & y ~, alternar con ^ y comprobar con &.Lección 14
  15. 15El preprocesadorUse el preprocesador de C: constantes y macros con parámetros, # y ##, compilación condicional con #if y guardas de inclusión en las cabeceras.Lección 15
  16. 16Funciones variádicasEscriba en C funciones con un número variable de argumentos usando stdarg.h: una media de n valores y un registro de mensajes al estilo de printf.Lección 16
  17. 17Errores: códigos de retorno y errnoGestione errores en C con códigos de retorno propios, errno, strtol y strerror: validar cantidades de un pedido y avisar si falta un archivo.Lección 17
  18. 18Archivos binarios: fwrite y freadGuarde structs en un archivo binario con fwrite, léalos con fread y salte a un registro con fseek en C para modificarlo sin reescribir el archivo.Lección 18
  19. 19Recursión y vuelta atrásResuelva el problema de las N reinas en C con recursión y vuelta atrás (backtracking): probar una opción, seguir y deshacerla si no lleva a nada.Lección 19
  20. 20Proyecto: gestor de inventarioUn pequeño gestor de inventario en C que reúne structs, memoria dinámica, una lista enlazada y archivos, y libera toda la memoria al terminar.Lección 20