Tipos de dados C ++

Ao escrever um programa em qualquer idioma, você precisa usar várias variáveis ​​para armazenar várias informações. As variáveis ​​nada mais são do que locais de memória reservados para armazenar valores. Isso significa que, ao criar uma variável, você reserva algum espaço na memória.

Você pode gostar de armazenar informações de vários tipos de dados como caractere, caractere largo, inteiro, ponto flutuante, ponto flutuante duplo, booleano etc. Com base no tipo de dados de uma variável, o sistema operacional aloca memória e decide o que pode ser armazenado no memória reservada.

Tipos primitivos integrados

C ++ oferece ao programador uma rica variedade de tipos de dados integrados e definidos pelo usuário. A tabela a seguir lista sete tipos de dados básicos C ++ -

Tipo Palavra-chave
boleano bool
Personagem Caracteres
Inteiro int
Ponto flutuante flutuador
Ponto flutuante duplo em dobro
Sem valor vazio
Caráter amplo wchar_t

Vários dos tipos básicos podem ser modificados usando um ou mais desses modificadores de tipo -

  • signed
  • unsigned
  • short
  • long

A tabela a seguir mostra o tipo de variável, quanta memória é necessária para armazenar o valor na memória, e qual é o valor máximo e mínimo que pode ser armazenado neste tipo de variável.

Tipo Largura de bit típica Alcance Típico
Caracteres 1 byte -127 a 127 ou 0 a 255
caracter não identifcado 1 byte 0 a 255
char assinado 1 byte -127 a 127
int 4 bytes -2147483648 a 2147483647
int sem sinal 4 bytes 0 a 4294967295
int assinado 4 bytes -2147483648 a 2147483647
curto int 2 bytes -32768 a 32767
int curto sem sinal 2 bytes 0 a 65.535
int curto assinado 2 bytes -32768 a 32767
longo int 8 bytes -2.147.483.648 a 2.147.483.647
assinado longo int 8 bytes mesmo que long int
int longo sem sinal 8 bytes 0 a 4.294.967.295
longo longo int 8 bytes - (2 ^ 63) a (2 ^ 63) -1
sem sinal longo longo int 8 bytes 0 a 18.446.744.073.709.551.615
flutuador 4 bytes
em dobro 8 bytes
longo duplo 12 bytes
wchar_t 2 ou 4 bytes 1 caractere largo

O tamanho das variáveis ​​pode ser diferente daqueles mostrados na tabela acima, dependendo do compilador e do computador que você está usando.

A seguir está o exemplo, que produzirá o tamanho correto de vários tipos de dados em seu computador.

#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 exemplo usa endl, que insere um caractere de nova linha após cada linha e o operador << está sendo usado para passar vários valores para a tela. Também estamos usandosizeof() operador para obter o tamanho de vários tipos de dados.

Quando o código acima é compilado e executado, ele produz o seguinte resultado, que pode variar de máquina para máquina -

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

Declarações de typedef

Você pode criar um novo nome para um tipo existente usando typedef. A seguir está a sintaxe simples para definir um novo tipo usando typedef -

typedef type newname;

Por exemplo, o seguinte diz ao compilador que pés é outro nome para int -

typedef int feet;

Agora, a seguinte declaração é perfeitamente legal e cria uma variável inteira chamada distância -

feet distance;

Tipos Enumerados

Um tipo enumerado declara um nome de tipo opcional e um conjunto de zero ou mais identificadores que podem ser usados ​​como valores do tipo. Cada enumerador é uma constante cujo tipo é a enumeração.

A criação de uma enumeração requer o uso da palavra-chave enum. A forma geral de um tipo de enumeração é -

enum enum-name { list of names } var-list;

Aqui, o enum-name é o nome do tipo de enumeração. A lista de nomes é separada por vírgulas.

Por exemplo, o código a seguir define uma enumeração de cores chamada cores e a variável c do tipo cor. Finalmente, c recebe o valor "azul".

enum color { red, green, blue } c;
c = blue;

Por padrão, o valor do primeiro nome é 0, o segundo nome tem o valor 1 e o terceiro tem o valor 2 e assim por diante. Mas você pode dar um nome, um valor específico adicionando um inicializador. Por exemplo, na seguinte enumeração,green terá o valor 5.

enum color { red, green = 5, blue };

Aqui, blue terá um valor de 6 porque cada nome será um maior do que o que o precede.