Tipos de datos en C++ (con ejemplos)



A diferencia de otro tipo de lenguajes como JavaScript, PHP o incluso Python donde no es necesario declarar el tipo de variable que vamos a usar y simplemente se necesita empezar a utilizar dicha variable, en C++ si es obligatorio declarar el tipo de variable antes de empezar a usarla, si no lo hacemos el programa no compilará, tampoco puede cambiarse el tipo de dato que almacenara una variable a futuro, por todo esto conviene entender bien los tipos de datos que existen en este lenguaje y como utilizarlos antes de pasar a otros temas.

Las variables en C++


Si ya sabes lo que es una variable y todo eso pasa a la siguiente sección, de lo contrario una variable es un espacio donde se pueden almacenar valores, imaginemos una caja donde se pueden guardar objetos la caja viene siendo la variable y los objetos vienen siendo los valores, ni más ni menos que eso es una variable, ahora cada variable tiene un nombre así podemos decir que "nombre" puede ser una variable o "teléfono" puede ser otra variable, posteriormente a una variable se le asigna un valor así la variable teléfono puede ser igual a 11111111 y para asignarlo en casi todos los lenguajes e programación se utiliza el operador = y se hace algo así teléfono = 11111111, aunque varía un poco dependiendo del lenguaje, en el siguiente capítulo hablaremos sobre los operadores en C++ para que sirven y como usarlos.

Tipos de datos principales en C++


4 Son los tipos de datos principales en C++ con los que podremos hacer prácticamente todo, a menos que necesitemos un tipo de dato que tenga mayor capacidad en memoria, y esto se debe a que al declarar una variable esta reserva un espacio en la memoria del dispositivo llamémosle memoria RAM en las computadoras, cada tipo de dato tiene un tamaño de memoria que reserva, suelen ser muy grandes pero por si acaso el tipo de dato no es lo suficientemente grande entonces existen otras palabras clave que nos permitirán incrementar el tamaño del tipo de dato.

Entero: recordemos que un número entero simplemente es cualquier número(natural) sin punto por ejemplo 0 es de tipo entero, 846582 también lo es pero 1.2 no porque tiene un punto y por eso no podríamos almacenar este valor en una variable de tipo entero, para declarar una variable de tipo entero utilizamos la palabra reservada int que significa integer en inglés y como ya era de suponer se traduce como entero al español, posteriormente añadimos el nombre de la variable veamos ahora ejemplos de cómo se usa:

int casas = 5;
int objetos;


En ese ejemplo tenemos nuestra variable casas de tipo int con el número 5, también tenemos otra variable llamada objetos que todavía no contiene ningún valor y a futuro se le puede asignar el valor.

Punto flotante: este tipo de datos es la solución para números que tienen decimales como es el caso de 98.3 como vimos anteriormente no podemos incluirlo en variables de tipo entero, para declararlos se utiliza la palabra reservada float, ejemplos de uso son:

float metros=8.53;
float dólares;


Texto: en este tipo de datos además de texto también pueden incluirse números pero no pueden hacerse operaciones como suma, resta u otras para lo cual se necesitaría int o float porque el lenguaje los interpreta como texto, para declarar una variable con este tipo se emplea la palabra char que significa character y se traduce como carácter, pero en este tipo de datos además tenemos que indicar la cantidad de caracteres máxima que se incluirán + 1 así es como "Estetexto" contiene 9 caracteres y reservamos un total de 10 como mínimo, se reserva entre paréntesis cuadrado, veamos cómo.

char carta[8] = "manzana" ;
char hoja[800] = "hola" ;
char ultimo[4000];


No pasara mucho tiempo antes de que te des cuenta que esto puede ser un problema, porque no siempre sabemos que tamaño tendrá nuestra cadena de caracteres pero esto es así porque C++ necesita reservar la memoria para esa cadena de caracteres con anticipación, así que podríamos calcular diciendo si mi texto puede tener 500 palabras reservare 4000 o incluso 2000 y así nunca se produciría algún error en la aplicación, pero en verdad esto sería reservar memoria innecesaria por tanto para esto se ha creado varias soluciones una de ellas que conviene aprender ya es el uso del tipo de datos string, que en verdad es una clase pero su implementación es igual a la de cualquier otro tipo de datos.

string libro = "Aquí un pequeño ejemplo";
string nombre;


Booleano: Una variable de tipo booleano solo acepta dos tipos de valores estos son true que significa verdadero o false que significa falso, se utiliza si se quiere guardar el estado de un resultado por ejemplo si preguntamos 1=5 el resultado será false porque uno no es igual a cinco y podemos almacenarlo en una variable de tipo booleano, para declarar una variable booleana utilizamos la palabra reservada bool, ejemplos serian:

bool reunir=false;
bool bicicleta;


Nota: En algunos libros o cursos se suele mencionar la palabra reservada void como un tipo de datos, pero en verdad no es un tipo, void se usa para indicar que algo no tiene valor, en variables puede utilizarse como un puntero pero eso va más adelante en el capítulo de punteros y no en este de tipos de variables.

Si se necesita incrementar el tamaño de una variable de texto más allá de 1 byte puede utilizarse el tipo wchar_t, o si se necesita incrementar el tamaño de una variable de tipo float de 4 a 8 bytes se utiliza el tipo double que es básicamente un float de doble tamaño, aunque en verdad con estos tamaños estándar suele realizarse la mayoría de programas básicos pero a futuro puede llegar a necesitar usarse los otros.



Tipos de datos con tamaño y rango
TipoMemoriaRango
char1byte-127 a 127 o 0 a 255
unsigned char1byte0 a 255
signed char1byte-127 a 127
wchar_t2 a 4 bytes
float4 bytes+/- 3.4e +/- 38 (~7 dígitos)
double8 bytes+/- 1.7e +/- 308 (~15 dígitos)
int4 bytes-2147483648 a 2147483647
unsigned int4bytes0 a 4294967295
signed int4bytes-2147483648 a 2147483647
short int2bytes-32768 a 32767
unsigned short intRange0 a 65,535
signed short intRange-32768 a 32767
long int4bytes-2,147,483,648 a 2,147,483,647
signed long int4bytes-2,147,483,648 a 2,147,483,647
unsigned long int4bytes0 a 4,294,967,295
long double8bytes+/- 1.7e +/- 308 (~15 dígitos)
Comentarios y preguntas
jorge:
Gracias, me fue de mucha ayuda.
Dendi:
Me sirve
Codigazo:
Hola Jorge y hola Dendi, gracias por sacar el tiempito para comentar.
Cristina:
Me falta aprender a programar no se que hacer para aprender con facilidad
Codigazo:
Hola Cristina, la recomendación es que empiece desde los temas mas básicos no pasando a los siguientes hasta haber reafirmado los temas básicos, y que siempre utilice códigos de ejemplo para cada tema pues es mas sencillo entender con ayuda de ejemplos, puede ir dando clic en "siguiente" al final de cada clase y de esta forma continuar en orden con los otros temas, en cada clase de este curso encontrará ejercicios con los que podrá practicar.

Por otra parte este medio tiene la ventana de poderse copiar el código para pegarlo en el IDE con facilidad, pero es mas sencillo entender con ayuda de videos aunque tienen la desventaja de no poderse copiar el código de inmediato sino que hay que hacerlo conforme se va desarrollando el video, si se le facilita mas este tipo de aprendizaje entonces puede ingresar al canal https://youtube.com/codigazo en la lista de C++ puede encontrar un curso que va desde básico hasta nivel intermedio con mas de 35 lecciones, y no olvide que para cualquier duda puede contactarme por aquí o por el canal, ¡suerte en el estudio!
Emanuel:
Esta información me ayudó mucho y me salvó de entregar mal mi tarea
carlos:
donde estuvo esto toda mi vida
Codigazo:
Hola Emanuel me alegra que asi fuera.
Hola Carlos gracias por su generosa forma de elogiar.