Tipos de variáveis C ++
Uma variável nos fornece armazenamento nomeado que nossos programas podem manipular. Cada variável em C ++ possui um tipo específico, que determina o tamanho e o layout da memória da variável; a faixa de valores que podem ser armazenados nessa memória; e o conjunto de operações que podem ser aplicadas à variável.
O nome de uma variável pode ser composto de letras, dígitos e o caractere sublinhado. Deve começar com uma letra ou um sublinhado. Letras maiúsculas e minúsculas são diferentes porque C ++ diferencia maiúsculas de minúsculas -
Existem os seguintes tipos básicos de variáveis em C ++, conforme explicado no último capítulo -
Sr. Não | Tipo e descrição |
---|---|
1 | bool Armazena o valor verdadeiro ou falso. |
2 | char Normalmente, um único octeto (um byte). Este é um tipo inteiro. |
3 | int O tamanho mais natural do inteiro para a máquina. |
4 | float Um valor de ponto flutuante de precisão única. |
5 | double Um valor de ponto flutuante de precisão dupla. |
6 | void Representa a ausência de tipo. |
7 | wchar_t Um tipo de caráter amplo. |
C ++ também permite definir vários outros tipos de variáveis, que abordaremos em capítulos subsequentes, como Enumeration, Pointer, Array, Reference, Data structures, e Classes.
A seção a seguir cobrirá como definir, declarar e usar vários tipos de variáveis.
Definição de variável em C ++
Uma definição de variável informa ao compilador onde e quanto armazenamento criar para a variável. Uma definição de variável especifica um tipo de dados e contém uma lista de uma ou mais variáveis desse tipo da seguinte forma -
type variable_list;
Aqui, type deve ser um tipo de dados C ++ válido, incluindo char, w_char, int, float, double, bool ou qualquer objeto definido pelo usuário, etc., e variable_listpode consistir em um ou mais nomes de identificadores separados por vírgulas. Algumas declarações válidas são mostradas aqui -
int i, j, k;
char c, ch;
float f, salary;
double d;
A linha int i, j, k;ambos declaram e definem as variáveis i, j e k; que instrui o compilador a criar variáveis chamadas i, j e k do tipo int.
As variáveis podem ser inicializadas (atribuídas a um valor inicial) em sua declaração. O inicializador consiste em um sinal de igual seguido por uma expressão constante como segue -
type variable_name = value;
Alguns exemplos são -
extern int d = 3, f = 5; // declaration of d and f.
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
char x = 'x'; // the variable x has the value 'x'.
Para definição sem um inicializador: variáveis com duração de armazenamento estático são inicializadas implicitamente com NULL (todos os bytes têm o valor 0); o valor inicial de todas as outras variáveis é indefinido.
Declaração de variável em C ++
Uma declaração de variável fornece garantia ao compilador de que existe uma variável com o tipo e nome fornecidos para que o compilador prossiga para a compilação posterior sem precisar de detalhes completos sobre a variável. Uma declaração de variável tem seu significado apenas no momento da compilação, o compilador precisa da definição real da variável no momento da vinculação do programa.
Uma declaração de variável é útil quando você está usando vários arquivos e define sua variável em um dos arquivos que estarão disponíveis no momento da vinculação do programa. Você vai usarexternpalavra-chave para declarar uma variável em qualquer lugar. Embora você possa declarar uma variável várias vezes em seu programa C ++, ela pode ser definida apenas uma vez em um arquivo, função ou bloco de código.
Exemplo
Tente o seguinte exemplo onde uma variável foi declarada no topo, mas foi definida dentro da função principal -
#include <iostream>
using namespace std;
// Variable declaration:
extern int a, b;
extern int c;
extern float f;
int main () {
// Variable definition:
int a, b;
int c;
float f;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c << endl ;
f = 70.0/3.0;
cout << f << endl ;
return 0;
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
30
23.3333
O mesmo conceito se aplica à declaração de função, onde você fornece um nome de função no momento de sua declaração e sua definição real pode ser fornecida em qualquer outro lugar. Por exemplo -
// function declaration
int func();
int main() {
// function call
int i = func();
}
// function definition
int func() {
return 0;
}
Lvalues e Rvalues
Existem dois tipos de expressões em C ++ -
lvalue- As expressões que se referem a um local da memória são chamadas de expressão "lvalue". Um lvalue pode aparecer como o lado esquerdo ou direito de uma atribuição.
rvalue- O termo rvalue se refere a um valor de dados que é armazenado em algum endereço na memória. Um rvalue é uma expressão que não pode ter um valor atribuído a ela, o que significa que um rvalue pode aparecer no lado direito, mas não no lado esquerdo de uma atribuição.
As variáveis são lvalues e, portanto, podem aparecer no lado esquerdo de uma atribuição. Literais numéricos são rvalues e, portanto, não podem ser atribuídos e não podem aparecer no lado esquerdo. A seguir está uma declaração válida -
int g = 20;
Mas o seguinte não é uma declaração válida e geraria um erro em tempo de compilação -
10 = 20;