Las variables y las constantes son la base de casi todo programa. Antes de pedir datos al usuario, antes de tomar decisiones y antes de repetir tareas, un programa necesita guardar información.
En C, esa información se guarda en memoria usando nombres que nosotros elegimos.
En esta lección vas a aprender:
- qué es una variable
- qué significa declarar, inicializar y asignar
- cómo nombrar variables correctamente en C
- qué tipos de datos básicos se usan con más frecuencia
- qué es una constante y cuándo conviene usarla
Idea clave: si no entendés bien variables y constantes, todo lo que viene después se vuelve más difícil. Esta parte es FUNDAMENTAL.
¿Qué es una variable?
Una variable es un espacio de memoria que tiene:
- un tipo de dato
- un nombre
- un valor que puede cambiar
Pensalo así: una variable es como una caja con una etiqueta.
- La etiqueta es el nombre de la variable.
- El contenido de la caja es el valor guardado.
- El tipo de dato indica qué clase de valor puede guardarse ahí.
Por ejemplo:
int edad = 18;
En esa línea:
intindica que la variable guardará un número enteroedades el nombre de la variable18es el valor inicial
¿Por qué necesitamos variables?
Porque los programas trabajan con datos.
Por ejemplo, un programa puede necesitar guardar:
- la edad de una persona
- el precio de un producto
- la inicial de un nombre
- la cantidad de alumnos en un curso
Si no pudiéramos guardar esos valores, el programa no tendría con qué trabajar.
Mirá este ejemplo:
int cantidadAlumnos = 30;
float precio = 1499.50;
char inicial = 'F';
Ahí el programa está guardando tres datos distintos:
cantidadAlumnosguarda un enteroprecioguarda un número con decimalesinicialguarda un único carácter
Variables y memoria
Cuando un programa se ejecuta, usa memoria RAM.
Cada variable ocupa una parte de esa memoria. Vos no necesitás saber todavía la dirección exacta donde queda guardada, pero sí entender la idea general: cada variable reserva un lugar para almacenar un dato.
Podemos imaginarlo así:
edad -> 18
precio -> 1499.50
inicial -> F
Esto NO significa que la memoria realmente se vea así, pero sirve como modelo mental para empezar.
Lo importante es entender que el nombre de la variable le permite al programa encontrar el valor guardado.
Declarar una variable
Declarar una variable significa informarle al compilador que esa variable va a existir y qué tipo de dato va a almacenar.
La forma general es:
tipo nombreVariable;
Ejemplo:
int edad;
Esta línea declara una variable llamada edad que podrá almacenar números enteros.
Todavía no le dimos un valor. Solamente dijimos que esa variable existe.
Inicializar una variable
Inicializar una variable significa darle un valor en el mismo momento en que se declara.
Ejemplo:
int edad = 18;
Acá pasan dos cosas al mismo tiempo:
- se declara la variable
edad - se le asigna el valor
18
Inicializar suele ser una muy buena práctica, porque hace el código más claro y evita usar variables sin un valor válido.
Asignar un valor
Asignar un valor significa guardar un dato dentro de una variable que ya existe.
Ejemplo:
int edad;
edad = 18;
Primero declaramos la variable. Después le asignamos un valor.
Esto es distinto de inicializar, porque la inicialización ocurre en la misma línea de la declaración.
Declarar, inicializar y asignar: diferencia importante
Estas tres ideas se parecen, pero NO son lo mismo.
Solo declaración
int edad;
La variable existe, pero todavía no recibe un valor por decisión nuestra.
Declaración con inicialización
int edad = 18;
La variable se crea y ya empieza con un valor.
Asignación posterior
int edad;
edad = 18;
La variable se crea primero y recibe el valor después.
Entender esta diferencia es importantísimo, porque en programación el momento en que un valor aparece también importa.
Tipos de datos básicos que vas a usar al comenzar
En C, toda variable necesita un tipo. El tipo define qué clase de dato puede guardarse.
Por ahora, los más importantes para empezar son estos:
int
Se usa para números enteros, es decir, números sin parte decimal.
int cantidad = 25;
int anio = 2026;
int temperaturaMinima = 8;
float
Se usa para números con decimales.
float altura = 1.75;
float precio = 2500.50;
float promedio = 8.4;
char
Se usa para guardar un solo carácter.
char letra = 'A';
char inicial = 'F';
char simbolo = '#';
Fijate en algo importante: los valores char se escriben entre comillas simples.
char letra = 'A';
Eso representa un solo carácter.
Más adelante vas a ver cómo trabajar con texto completo. Por ahora alcanza con entender que
charguarda un solo carácter.
Ejemplo completo y explicado
Mirá este programa simple:
int main() {
int edad = 18;
float altura = 1.72;
char inicial = 'F';
return 0;
}
¿Qué está pasando ahí?
edadguarda un número enteroalturaguarda un número decimalinicialguarda un carácter
El programa no muestra nada en pantalla todavía. Y está perfecto. En esta lección el objetivo no es mostrar datos, sino entender cómo se guardan.
El valor de una variable puede cambiar
La palabra variable justamente indica que su valor puede variar.
Ejemplo:
int edad = 18;
edad = 19;
Al final de ese fragmento, el valor guardado en edad es 19.
La variable sigue siendo la misma, pero su contenido cambió.
Otro ejemplo:
float precio = 1500.00;
precio = 1750.00;
Ahora precio ya no vale 1500.00, sino 1750.00.
No uses variables sin darles un valor confiable
Una de las malas costumbres más peligrosas al empezar es declarar una variable y usarla sin haberle asignado un valor claro.
Por ejemplo:
int edad;
Esa variable existe, sí. Pero si todavía no le diste un valor con una asignación, no deberías asumir que contiene un dato útil para tu programa.
Por eso, cuando sea posible, conviene inicializar:
int edad = 0;
float precio = 0.0;
char inicial = ' ';
No siempre el valor inicial será cero o un espacio, pero la idea importante es esta: el programa debe saber con qué valor empieza a trabajar.
Reglas para nombrar variables en C
No se puede poner cualquier nombre. C tiene reglas.
Un nombre de variable:
- puede usar letras
- puede usar números
- puede usar guion bajo
_ - debe comenzar con una letra o con
_ - no puede comenzar con un número
- no puede tener espacios
- no puede ser una palabra reservada del lenguaje
Ejemplos válidos
edad
edadAlumno
numero1
_total
precioFinal
Ejemplos inválidos
1edad
mi edad
float
precio-final
¿Por qué son inválidos?
1edadempieza con númeromi edadtiene espaciofloates una palabra reservada del lenguajeprecio-finaltiene un guion medio, y eso no forma parte del nombre
Buenas prácticas al nombrar variables
Una cosa es que un nombre sea válido y otra muy distinta es que sea claro.
Mirá estos ejemplos:
int x;
float a;
char z;
Eso puede compilar, pero comunica muy poco.
Ahora mirá esto:
int cantidadAlumnos;
float precioProducto;
char inicialNombre;
Mucho mejor.
Un buen nombre ayuda a entender el programa sin tener que adivinar.
Recomendaciones
- usá nombres que describan el dato
- evitá nombres demasiado cortos si no aportan claridad
- mantené una forma de nombrar consistente
¿Qué es una constante?
Una constante es un dato cuyo valor no debe cambiar durante la ejecución del programa.
Es decir:
- una variable puede cambiar
- una constante debe permanecer igual
Esto sirve cuando hay valores fijos que tienen un significado importante en el programa.
Por ejemplo:
- la cantidad de días de la semana
- la cantidad de meses del año
- el valor aproximado de PI
Declarar constantes con const
En C, una constante se puede declarar usando la palabra clave const.
Ejemplo:
const int diasSemana = 7;
const int mesesAnio = 12;
const float PI = 3.14159;
En estos casos, esos valores se definen para no ser modificados después.
Diferencia entre variable y constante
Mirá este ejemplo:
int edad = 18;
const int diasSemana = 7;
edadpuede cambiardiasSemanano debería cambiar
Si más adelante en el código escribís:
diasSemana = 8;
eso está mal, porque contradice la idea de haber declarado ese dato como constante.
La enseñanza importante acá no es memorizar un error del compilador, sino entender el concepto: si un valor no debe cambiar, declararlo como constante hace el programa más claro y más seguro.
¿Cuándo conviene usar una constante?
Conviene usar una constante cuando un valor:
- representa una regla fija
- tiene el mismo significado durante todo el programa
- no debería modificarse accidentalmente
Ejemplo:
const int cantidadRuedasBicicleta = 2;
const int horasDia = 24;
Si esos valores son parte de la lógica del programa, declararlos como constantes comunica mejor la intención.
Ejemplo comparando variables y constantes
int edad = 18;
const int mesesAnio = 12;
En ese código:
edadrepresenta un dato que podría cambiarmesesAniorepresenta un dato fijo
Esa diferencia conceptual es más importante que la sintaxis.
Errores comunes al empezar
1. Confundir el nombre con el valor
int edad = 18;
edades el nombre18es el valor
No son lo mismo.
2. Creer que declarar es lo mismo que inicializar
No.
int edad;
Eso solo declara.
int edad = 18;
Eso declara e inicializa.
3. Usar nombres poco claros
int a;
int dato;
Eso dice muy poco.
Es mejor:
int cantidadEstudiantes;
4. Usar una variable sin haber decidido con qué valor empieza
Cuando recién empezás, conviene que cada variable importante tenga un valor inicial claro.
5. Declarar como variable algo que en realidad debería ser constante
Si un valor no va a cambiar, usar const hace que el código exprese mejor su intención.
Resumen
- una variable guarda un dato que puede cambiar
- una constante guarda un dato que no debe cambiar
- en C, toda variable necesita un tipo y un nombre
- declarar es crear la variable
- inicializar es darle un valor al declararla
- asignar es darle un valor después de haberla declarado
int,floatycharson tipos básicos muy usados al comenzar- un buen nombre hace el código mucho más entendible
constse usa para representar valores fijos
Idea final
Cuando programás, no escribís código porque sí: le estás diciendo a la computadora qué datos existen y cómo debe tratarlos.
Las variables y las constantes son la primera gran herramienta para modelar esa información.
Si esto te queda claro, el resto del camino empieza a tener sentido.