Variables y tipos de datos en C++
¿Qué es y para qué sirve?
Imagina que estás jugando un videojuego. Tienes un inventario: una espada, una poción de salud, monedas de oro. En programación es lo mismo: necesitamos algún lugar para almacenar los datos con los que trabaja el programa. Las variables son como cajitas o casilleros donde puedes guardar un número, una palabra o algo más. Cada casillero tiene un nombre (por ejemplo, cantidad_vidas o nombre_heroe), y solo se puede guardar un tipo específico de cosas: en uno, números; en otro, texto; en un tercero, sí/no.
Los tipos de datos son las reglas que dicen: "En este casillero solo se pueden guardar números enteros", "Y en este, solo palabras". ¿Para qué sirve esto? Para que la computadora no se confunda: si dijiste que en el casillero hay un número, entonces se pueden sumar, restar y multiplicar números. Y si hay texto, entonces se pueden hacer otras operaciones: unir palabras, buscar letras. Sin los tipos de datos reinaría el caos, como si en el juego la espada se convirtiera de repente en una poción y las monedas comenzaran a hablar.
Para un estudiante, esto es importante porque cualquier programa es trabajar con datos. ¿Quieres hacer una calculadora? Necesitas números. ¿Quieres un juego con diálogos? Necesitas cadenas (texto). ¿Quieres verificar si el jugador pasó el nivel? Necesitas valores lógicos (verdadero/falso). Las variables y los tipos son la base sobre la que se construye todo lo demás.
Sintaxis y ejemplos de código
En C++ primero debes declarar la variable: decirle a la computadora: "Oye, quiero un casillero con tal nombre, y dentro tendrá tales datos". Se hace así: primero se escribe el tipo de dato, luego el nombre de la variable, luego (si es necesario) el signo igual y el valor.
#include <iostream> // para poder mostrar texto en pantalla
using namespace std; // para no tener que escribir std:: antes de cada palabra
int main() {
// Ejemplo 1: número entero (int)
int edad = 14; // creamos la variable "edad" de tipo int (número entero) y le asignamos 14
cout << "Mi edad: " << edad << endl; // mostramos en pantalla
// Ejemplo 2: número de punto flotante (double) — para fracciones
double altura = 1.65; // altura en metros, se puede almacenar 1.65
cout << "Mi altura: " << altura << " m" << endl;
// Ejemplo 3: texto (string)
string nombre = "Alicia"; // palabra o frase entre comillas
cout << "Me llamo " << nombre << endl;
// Ejemplo 4: tipo lógico (bool) — solo true (verdadero) o false (falso)
bool leGustaProgramar = true; // true = 1, false = 0
cout << "¿Le gusta programar? " << leGustaProgramar << endl; // mostrará 1 (porque es true)
// Ejemplo 5: carácter (char) — una sola letra o número entre comillas simples
char primeraLetra = 'A';
cout << "Primera letra del nombre: " << primeraLetra << endl;
return 0; // el programa finalizó correctamente
}
Observa: en C++ cada expresión termina con un punto y coma ;. Si lo olvidas, el programa no se compilará (la computadora no entenderá dónde termina la instrucción).
Otro ejemplo: cómo se pueden cambiar las variables:
int puntos = 0; // al principio 0
puntos = 10; // ahora 10
puntos = puntos + 5; // ahora 15 (tomamos el valor anterior, le sumamos 5)
cout << puntos << endl; // mostrará 15
El tipo de dato no se puede cambiar: si declaraste int, luego no puedes guardar texto ahí. La computadora se quejará.
Comparación con Python
En Python es más simple: no es necesario indicar el tipo de dato. Python mismo deduce a qué te refieres. Pero por esta simplicidad se paga con velocidad y rigor: en C++ sabes exactamente cuánta memoria ocupa cada variable y el programa funciona más rápido.
Mira cómo se ven los mismos ejemplos en Python:
# Python: no es necesario escribir int, string, bool — el tipo se determina automáticamente
edad = 14 # Python mismo entendió que es un número
altura = 1.65 # y esto es un número decimal
nombre = "Alicia" # esto es una cadena
leGustaProgramar = True # tipo lógico
primeraLetra = 'A' # carácter (en Python también es una cadena, pero de un solo carácter)
print("Mi edad:", edad)
print("Mi altura:", altura, "m")
print("Me llamo", nombre)
print("¿Le gusta programar?", leGustaProgramar)
print("Primera letra del nombre:", primeraLetra)
¿Se nota la diferencia? En C++ escribimos int edad = 14;, mientras que en Python simplemente edad = 14. Python no requiere declarar el tipo: mira el valor y decide por sí mismo. Pero si en C++ intentas escribir int edad = "Alicia";, el compilador dará un error. En Python, en cambio, puedes escribir edad = "Alicia" y no se quejará, pero luego, si intentas sumar la edad con un número, el programa fallará durante la ejecución.
Otra diferencia: en C++ necesitas incluir librerías (por ejemplo, #include <iostream> para la salida en pantalla), mientras que en Python muchas cosas ya están integradas. Para un estudiante, Python es más fácil para empezar, pero C++ proporciona una comprensión más profunda de cómo funciona la computadora.
Errores típicos de principiantes
- Olvidar el punto y coma. Este es el error más común. El compilador dirá: "Error: se esperaba un punto y coma". Simplemente coloca
;al final de cada instrucción. - Usar una variable no declarada. Si escribes
cout << x;y la variablexno fue declarada, el compilador no entenderá qué es. Siempre declara primero:int x = 5; - Confundir las comillas. Para cadenas (varios caracteres) se necesitan comillas dobles:
"Hola". Para un solo carácter, comillas simples:'A'. Si las confundes, habrá un error. - Asignar un valor de tipo incorrecto. Por ejemplo,
int a = 3.14;— el compilador puede advertir que se perderá la parte fraccionaria (será 3).