Tipos de datos C ++
Mientras escribe un programa en cualquier idioma, debe utilizar varias variables para almacenar información diversa. Las variables no son más que ubicaciones de memoria reservadas para almacenar valores. Esto significa que cuando crea una variable, reserva algo de espacio en la memoria.
Es posible que desee almacenar información de varios tipos de datos como carácter, carácter ancho, entero, punto flotante, punto flotante doble, booleano, etc. En función del tipo de datos de una variable, el sistema operativo asigna memoria y decide qué se puede almacenar en el memoria reservada.
Tipos incorporados primitivos
C ++ ofrece al programador una amplia variedad de tipos de datos integrados y definidos por el usuario. La siguiente tabla enumera siete tipos de datos básicos de C ++:
Tipo | Palabra clave |
---|---|
Booleano | bool |
Personaje | carbonizarse |
Entero | En t |
Punto flotante | flotador |
Punto flotante doble | doble |
Sin valor | vacío |
Carácter amplio | wchar_t |
Varios de los tipos básicos se pueden modificar utilizando uno o más de estos modificadores de tipo:
- signed
- unsigned
- short
- long
La siguiente tabla muestra el tipo de variable, cuánta memoria se necesita para almacenar el valor en memoria y cuál es el valor máximo y mínimo que se puede almacenar en ese tipo de variables.
Tipo | Ancho típico de la broca | Rango típico |
---|---|---|
carbonizarse | 1 byte | -127 a 127 o 0 a 255 |
char sin firmar | 1 byte | 0 hasta 255 |
char firmado | 1 byte | -127 hasta 127 |
En t | 4 bytes | -2147483648 al 2147483647 |
int sin firmar | 4 bytes | 0 hasta 4294967295 |
firmado int | 4 bytes | -2147483648 al 2147483647 |
int corto | 2 bytes | -32768 al 32767 |
int corto sin firmar | 2 bytes | 0 hasta 65.535 |
int corto firmado | 2 bytes | -32768 al 32767 |
int largo | 8 bytes | -2,147,483,648 a 2,147,483,647 |
firmado largo int | 8 bytes | lo mismo que long int |
unsigned long int | 8 bytes | 0 a 4.294.967.295 |
largo largo int | 8 bytes | - (2 ^ 63) a (2 ^ 63) -1 |
unsigned long long int | 8 bytes | 0 a 18,446,744,073,709,551,615 |
flotador | 4 bytes | |
doble | 8 bytes | |
doble largo | 12 bytes | |
wchar_t | 2 o 4 bytes | 1 carácter ancho |
El tamaño de las variables puede ser diferente al que se muestra en la tabla anterior, según el compilador y la computadora que esté utilizando.
A continuación se muestra el ejemplo, que producirá el tamaño correcto de varios tipos de datos en su computadora.
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
Este ejemplo usa endl, que inserta un carácter de nueva línea después de cada línea y el operador << se utiliza para pasar varios valores a la pantalla. También estamos usandosizeof() operador para obtener el tamaño de varios tipos de datos.
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado que puede variar de una máquina a otra:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
Declaraciones typedef
Puede crear un nuevo nombre para un tipo existente usando typedef. A continuación se muestra la sintaxis simple para definir un nuevo tipo usando typedef:
typedef type newname;
Por ejemplo, lo siguiente le dice al compilador que pies es otro nombre para int -
typedef int feet;
Ahora, la siguiente declaración es perfectamente legal y crea una variable entera llamada distancia:
feet distance;
Tipos enumerados
Un tipo enumerado declara un nombre de tipo opcional y un conjunto de cero o más identificadores que se pueden utilizar como valores del tipo. Cada enumerador es una constante cuyo tipo es la enumeración.
La creación de una enumeración requiere el uso de la palabra clave enum. La forma general de un tipo de enumeración es:
enum enum-name { list of names } var-list;
Aquí, enum-name es el nombre del tipo de enumeración. La lista de nombres está separada por comas.
Por ejemplo, el siguiente código define una enumeración de colores llamados colores y la variable c de tipo color. Finalmente, a c se le asigna el valor "azul".
enum color { red, green, blue } c;
c = blue;
De forma predeterminada, el valor del primer nombre es 0, el segundo nombre tiene el valor 1 y el tercero tiene el valor 2, y así sucesivamente. Pero puede dar un nombre, un valor específico agregando un inicializador. Por ejemplo, en la siguiente enumeración,green tendrá el valor 5.
enum color { red, green = 5, blue };
Aquí, blue tendrá un valor de 6 porque cada nombre será uno mayor que el que le precede.