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.
Tipo | Memoria | Rango |
---|---|---|
char | 1byte | -127 a 127 o 0 a 255 | unsigned char | 1byte | 0 a 255 | signed char | 1byte | -127 a 127 | wchar_t | 2 a 4 bytes | float | 4 bytes | +/- 3.4e +/- 38 (~7 dígitos) | double | 8 bytes | +/- 1.7e +/- 308 (~15 dígitos) | int | 4 bytes | -2147483648 a 2147483647 | unsigned int | 4bytes | 0 a 4294967295 | signed int | 4bytes | -2147483648 a 2147483647 | short int | 2bytes | -32768 a 32767 | unsigned short int | Range | 0 a 65,535 | signed short int | Range | -32768 a 32767 | long int | 4bytes | -2,147,483,648 a 2,147,483,647 | signed long int | 4bytes | -2,147,483,648 a 2,147,483,647 | unsigned long int | 4bytes | 0 a 4,294,967,295 | long double | 8bytes | +/- 1.7e +/- 308 (~15 dígitos) |
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!
Hola Carlos gracias por su generosa forma de elogiar.