C
C es uno de los lenguajes de programación más antiguos que existe y que se sigan usando hoy en día. Se empezó a trabajar en 1972, y a día de hoy sigue siendo la base de importantes proyectos como Linux, el núcleo del sistema operativo GNU, del cual depende prácticamente la inmensa mayoría de las redes públicas y cloud para funcionar y brindar los servicios que tenemos hoy en día.
De C se dice que es un lenguaje de programación antipático y difícil de pillar. Esto es completamente cierto. Al fin y al cabo, los estándares en cuanto a quién necesitaba aprender a programar hace 50 años eran completamente diferentes respecto a hoy en día, así como la metodología.
Sin embargo, una vez le pillas el truco a C, se convierte en un aliado flexible, ligero y potente, para escribir código de alto o bajo nivel (dependiendo de cómo lo mires), que no tiene muchas estructuras pero que a cambio te permite traducir de la forma más precisa algoritmos a código máquina para poder ser ejecutados de la manera más portable posible en prácticamente cualquier procesador existente en el mercado.
Aunque para muchas personas, C solamente será un bache a superar durante algunas asignaturas de algoritmos en su carrera o grado, C es, de momento y mientras Rust no lo impida, la opción predeterminada para fabricar proyectos embebidos y drivers.
-
Lección 🔥 PopularFunciones variádicas
Una función variádica es una función que acepta varios parámetros. ¿Cuántos? Unos cuantos. Piensa en printf, que no se sabe cuántos parámetros acepta porque con cada llamada podemos pasar tantos parámetros como nos haga falta. En esta lección vemos cómo utilizar el tipo va_list y las macros va_start, va_arg y... -
Lección 🔥 PopularInstalar CodeBlocks
Bienvenidos a este tutorial de C, nivel básico. Durante los próximos 10 episodios voy a mostraros lo más esencial para poder empezar a trabajar con C, un lenguaje de programación con un gran legado. -
Lección 🔥 PopularListas enlazadas en C
En este ejemplo completo te enseñaré cómo construir una lista enlazada en C definiendo las estructuras y las operaciones. -
Lección 📈 En tendenciafprintf, sprintf y snprintf
Cerramos esta temporada presentando fprintf, sprintf y snprintf, tres funciones parecidas a printf pero que se diferencian en dónde vuelcan lo que van formateando. fprintf permite volcar con formato en archivos y sprintf/snprintf en cadenas de caracteres. -
Lección 📈 En tendenciaPunteros
Los punteros permiten almacenar referencias a posiciones de memoria y los usamos para acceder y manipular el valor de celdas concretas de memoria. -
Lección 📈 En tendenciaextern
extern es una palabra clave que se usa en el lenguaje de programación C para marcar que un símbolo, como una función o una variable global, es externo, es decir, no está declarado en un archivo .c pero sí está en otra parte. Con esto dejamos que la etapa de... -
Lección 📈 En tendenciaCómo convertir un caracter numérico a número en C
El típico problema de programación en C de hacer un menú de opciones en el que uno de los pasos implica averiguar qué número se ha introducido cuando todo lo que tenemos es su char dentro de la tabla ASCII. En este vídeo te explico cómo puedes convertir un caracter... -
Lección 📈 En tendenciaArchivos (7): fread, fwrite y los arrays
Similar a la primitiva fwrite, en este vídeo vamos a ver el funcionamiento de la primitiva fread, para leer el contenido de un archivo y cargarlo de forma binaria en un buffer de memoria. También vemos cómo volcar un array de estructuras usando el tercer parámetro de las primitivas fread... -
Lección 📈 En tendenciaBucles
Los bucles permiten repetir una serie de instrucciones un número de ocasiones mientras una condición se cumpla. En C tenemos el bucle WHILE, el bucle DO-WHILE y el bucle FOR. -
Lección 📈 En tendenciaEl optimizador de GCC y la opción -O
Los compiladores hoy en día suelen venir cargados de optimizadores dispuestos a corregir cualquier código que hayamos escrito que tal vez no sea el perfecto, para mejorar su rendimiento en espacio o en tiempo. En este vídeo evaluamos cómo el conjunto de opciones de GCC -O, como -O0, -O1, -O2...