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.