AnyCompiler

Introducción a C

C es un lenguaje compilado, de tipado estático, sin garbage collector, sin classes y sin exceptions — solo functions, structs y control directo sobre la memoria. Se creó a principios de la década de 1970, y la mayoría de los sistemas operativos, runtimes de lenguajes y bases de datos (incluyendo los runtimes de Node.js, Python y Java usados en otras partes de este sitio) todavía tienen un núcleo de C por debajo.

Todos los demás cursos de este sitio se construyen sobre algún tipo de red de seguridad — un garbage collector, un borrow checker, destructores RAII. C no tiene nada de eso. Cuando asignas memoria, eres responsable de liberarla tú mismo; cuando tienes un pointer, nada te impide usarlo incorrectamente. Ese es el verdadero tradeoff de este curso: control total, sin barandillas.

Una vista previa rápida

Aquí tienes un programa C real, ejecutado de verdad en el propio compilador de esta página — no es una simulación:

#include <stdio.h>

int main() {
    printf("C: the language that's actually running underneath everything else.\n");
    return 0;
}
Output
C: the language that's actually running underneath everything else.

Eso es printf, la forma estándar de C para producir output. La siguiente lección ejecuta tu primer programa completo y explica exactamente qué está pasando.

Practice exercise

Declara una variable llamada version de tipo int fijada en 17, luego imprime "C version: " seguido de version usando printf con %d.