Abby's Digital Cafe

[C++] Introducción a los tipos de datos y variables

por SoySalwa

¿Qué es un tipo de dato?

En C++, un tipo de dato es un atributo que indica al compilador cuánta memoria reservar (en bytes) y qué operaciones se pueden realizar con esa variable. Los tipos de datos en C++ son:

  • Tipos Fundamentales (primitivos): Los bloques básicos de construcción: int, float, double, char, bool, y void
  • Tipos Compuestos (derivados): Son estructuras más complejas, construidas a partir de los primitivos: Punteros, Referencias, Arrays, class y struct

Cada tipo tiene un propósito específico para optimizar recursos:

  • int (Entero): Para números sin parte decimal.
  • float y double (Punto Flotante): Para decimales. float es de precisión simple (menos memoria), mientras que double es de doble precisión (mayor exactitud y rango).
  • char (Carácter): Almacena un solo símbolo o letra (usando comillas simples 'A').
  • bool (Booleano): Lógica pura. Solo puede ser true (verdadero) o false (falso).
  • void (Vacío): Se considera un tipo primitivo (o fundamental), aunque solo es utilizado para las funciones que no retornan nada, representa a la ausencia de tipo.

¿Qué es una variable?

Una variable es un espacio en memoria al que le damos un nombre y que se utiliza para almacenar un valor que puede cambiar durante la ejecución del programa. Un ejemplo según lo que aprendimos del tipo de dato y las variables:

[cpp]
#include <iostream> int main() { // 1. Declaración (Reservar memoria + Nombre) // El compilador sabe exactamente cuántos bytes usar. int vidas_jugador = 3; double precio_producto = 19.99; char rango_militar = 'A'; bool servidor_activo = true; // Cambiamos el valor (usando el mismo espacio de memoria) vidas_jugador = 2; return 0; }

En C++, el Tipado Explícito consiste en declarar manualmente el tipo de dato que almacenará la variable. Esto no solo instruye al compilador, sino que mejora drásticamente la legibilidad del código, permitiendo a cualquier programador saber exactamente qué tipo de información contiene una variable con solo mirarla, sin ambigüedades.

C++ es un lenguaje de Tipado Estático, lo que significa que el tipo de una variable se define al compilar y nunca puede cambiar durante la ejecución. También posee un Tipado Fuerte, donde el compilador nos protege impidiendo mezclar tipos incompatibles (como sumar texto con números) sin una conversión explícita.

Reglas para nombrar variables (Identificadores)

En C++, el nombre que le damos a una variable (o función) se llama Identificador, C++ tiene reglas estrictas que el compilador hace cumplir para garantizar que no haya ambigüedades.

1. Reglas Obligatorias (Si no las cumples, error de compilación)

  • Solo letras, números y guiones bajos (_): No se permiten espacios ni símbolos especiales como @, $, %, -.
  • No pueden empezar con un número: 1erLugar es ilegal. Debe ser primer_lugar.
  • No usar Palabras Reservadas: Palabras que son parte del lenguaje como int, return, class, true no pueden usarse como nombres.

2. Sensibilidad a Mayúsculas (Case Sensitivity)

C++ distingue entre mayúsculas y minúsculas. Esto es vital: Edad, edad y EDAD son tres variables totalmente diferentes y ocupan espacios de memoria distintos.

[cpp]
int main() { // CORRECTO int vida_total = 100; int _sistema = 1; // Permitido (aunque reservado a veces para uso interno) int jugador2 = 50; // Números permitidos si no están al inicio // INCORRECTO (Errores de compilación) // int 1er_premio = 10; // Error: Empieza con número // int total-puntos = 5; // Error: El guion medio es resta, no parte del nombre // int double = 20.5; // Error: 'double' es una palabra reservada // int mi variable = 10; // Error: No se permiten espacios return 0; }

Preguntas Frecuentes

1. ¿Siempre tengo que escribir el tipo de dato manualmente?

No necesariamente. En C++ moderno existe la palabra clave auto. Al usarla, le pedimos al compilador que deduzca el tipo de dato automáticamente basándose en el valor asignado. Es importante recordar que auto no significa que la variable no tenga tipo, sino que el compilador lo determina por ti al momento de compilar. Una vez deducido, el tipo es fijo y seguro.

2. ¿Cuál es la diferencia real entre float y double?

La diferencia radica en la precisión y el espacio en memoria. Un float tiene una precisión simple (aproximadamente 7 dígitos), mientras que un double ofrece doble precisión (aproximadamente 15 dígitos). Por convención y seguridad en cálculos matemáticos, en C++ se prefiere el uso de double.

3. ¿Puedo cambiar el tipo de dato de una variable después de crearla?

No. C++ es de Tipado Estático. Si declaras una variable como entero (ya sea explícitamente con int o deducida con auto), esa variable siempre será un entero. Esto garantiza la integridad de los datos y evita errores de lógica durante la ejecución.

4. ¿Por qué "char" usa comillas simples (' ') y no dobles (" ")?

En C++ la distinción es estricta: 'A' (Comillas simples) representa un `char`, que es un valor numérico pequeño en memoria. "A" (Comillas dobles) representa una Cadena de texto, que es una estructura de datos más compleja. Usar las comillas incorrectas provocará un error de compilación inmediato.

Comentarios