Café y Código
⚡ C++ Básico· Lección 2

2. Variables, Tipos y la Memoria RAM 🧱

Aprende cómo C++ interactúa directamente con el hardware: cada variable es un casillero físico de bytes con una dirección hexadecimal en la memoria RAM.

1. El Modelo Mental: La Memoria RAM como Casilleros Numerados

En lenguajes como Python o JavaScript, sueles ver una variable como un nombre que almacena cualquier cosa mágica. En C++, una variable es una reserva física de espacio contiguo en la memoria RAM.

Toda variable tiene tres propiedades inseparables:

  • 1. Tipo: Le dice al compilador cuántos casilleros de bytes reservar (ej. 4 bytes para int).
  • 2. Nombre (Identificador): La etiqueta que tú usas en el código para referirte a ella.
  • 3. Dirección de Memoria: El número hexadecimal exacto donde vive en la RAM (ej. 0x7ffee400).
Simulador Interactivo de Hardware & Memoria

CppMemoryStudiov1.0 RAM Inspector

Inspecciona cómo C++ distribuye variables, punteros y vectores en la memoria física.

🧠 Modelo Mental de Casilleros de RAM

Cada variable que declaras en C++ ocupa una cantidad fija de bytes contiguos en la memoria Stack. El nombre es tu etiqueta para humanos; la computadora solo reconoce la dirección hexadecimal física.

Dirección RAMNombreTiposizeofValor AlmacenadoAcción
0x7ffee400vidasint4 bytes3
0x7ffee404puntajedouble8 bytes98.5
0x7ffee40crangochar1 byte'S'
0x7ffee40dactivobool1 bytetrue
+ Declarar nueva variable en tiempo real

2. Tabla de Tipos Primitivos en C++

Conocer el tamaño de los tipos es indispensable para entender por qué C++ es tan eficiente:

TipoTamaño (Bytes)Rango Aprox. / PropósitoEjemplo
bool1 byteBooleano: true (1) o false (0)bool activo = true;
char1 byteUn único carácter ASCII entre comillas simpleschar letra = 'A';
int4 bytesEntero de 32 bits (-2 mil millones a +2 mil millones)int vidas = 3;
double8 bytesDecimal de doble precisión (15 dígitos decimales)double precio = 19.99;
std::stringDinámicoCadenas de texto completas (requiere #include <string>)std::string nombre = "Ana";
declaracion_tipos.cpp
CPP
1#include <iostream>
2#include <string>
3
4int main() {
5 int nivel = 1;
6 double energia = 99.5;
7 char clase = 'M'; // Mago
8 bool enCombate = false;
9 std::string jugador = "Gandalf";
10
11 std::cout << jugador << " [Nivel " << nivel << "] Energía: " << energia << "\n";
12 return 0;
13}

3. ⚠️ El Gran Peligro: "Basura de Memoria"

🚨 ¿Qué pasa si escribes `int puntaje;` sin darle valor?

A diferencia de Java o C# que ponen 0 por defecto, en C++ las variables locales quedan con"basura": sea lo que sea que estuviese grabado en ese casillero de la memoria RAM antes de que tu programa iniciara (un número al azar como -148392019).

✅ Regla de Oro: Inicializa SIEMPRE tus variables al momento de declararlas (int puntaje = 0;).

4. Constantes (const) y Deducción Automática (auto)

En C++ moderno, dos palabras clave hacen tu código mucho más seguro y limpio:

const (Inmutabilidad)

Protege el valor para que nadie pueda cambiarlo accidentalmente más adelante. Si alguien intenta hacer PI = 4.0;, el compilador bloquea el código con error.

const double PI = 3.141592;
auto (C++11+)

Le pide al compilador que deduzca automáticamente el tipo en base al valor inicial. Ideal para tipos largos o iteradores.

auto velocidad = 120; // int

Ejercicio Práctico: Boleta de Venta

Declara una constante con el impuesto IVA = 0.19, variables para el precioUnitario = 1500.0 y la cantidad = 4. Calcula el subtotal, el monto de IVA y el precio final a pagar, imprimiéndolos con formato en la consola.

Ver solución completa
CPP
1#include <iostream>
2
3int main() {
4 const double IVA = 0.19;
5 double precioUnitario = 1500.0;
6 int cantidad = 4;
7
8 double subtotal = precioUnitario * cantidad;
9 double impuesto = subtotal * IVA;
10 double totalPagar = subtotal + impuesto;
11
12 std::cout << "Subtotal: $" << subtotal << "\n";
13 std::cout << "IVA (19%): $" << impuesto << "\n";
14 std::cout << "Total a pagar: $" << totalPagar << "\n";
15 return 0;
16}
Autoevaluación Formativa

Comprueba lo que Has Aprendido 🧠

Valida tu comprensión de variables, tipos primitivos y gestión de memoria en C++.

Dato curioso: C++ apareció en 1985; Bjarne Stroustrup en Bell Labs. Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.