Programação D - Variáveis

Uma variável nada mais é do que um nome dado a uma área de armazenamento que nossos programas podem manipular. Cada variável em D tem 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 distintas porque D faz distinção entre maiúsculas e minúsculas. Com base nos tipos básicos explicados no capítulo anterior, haverá os seguintes tipos básicos de variáveis ​​-

Sr. Não. Tipo e descrição
1

char

Normalmente, um único octeto (um byte). Este é um tipo inteiro.

2

int

O tamanho mais natural do inteiro para a máquina.

3

float

Um valor de ponto flutuante de precisão única.

4

double

Um valor de ponto flutuante de precisão dupla.

5

void

Representa a ausência de tipo.

A linguagem de programação D também permite definir vários outros tipos de variáveis, como Enumeração, Ponteiro, Matriz, Estrutura, União, etc., que abordaremos nos capítulos subsequentes. Para este capítulo, vamos estudar apenas os tipos básicos de variáveis.

Definição de Variável em D

Uma definição de variável informa ao compilador onde e quanto espaço deve ser criado 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 D válido, incluindo char, wchar, 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;

Exemplos

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'.

Quando uma variável é declarada em D, ela é sempre definida como seu 'inicializador padrão', que pode ser acessado manualmente como T.init Onde T é o tipo (por exemplo, int.init) O inicializador padrão para tipos inteiros é 0, para booleanos falso e para números de ponto flutuante NaN.

Declaração de variável em D

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 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 declaração da variável real no momento da vinculação do programa.

Exemplo

Experimente o seguinte exemplo, onde as variáveis ​​foram declaradas no início do programa, mas são definidas e inicializadas dentro da função principal -

import std.stdio; 
 
int a = 10, b = 10; 
int c;
float f;  

int main () { 
   writeln("Value of a is : ", a); 
   
   /* variable re definition: */ 
   int a, b; 
   int c; 
   float f;
   
   /* Initialization */ 
   a = 30; 
   b = 40; 
   writeln("Value of a is : ", a); 
   
   c = a + b; 
   writeln("Value of c is : ", c);  
   
   f = 70.0/3.0; 
   writeln("Value of f is : ", f); 
   return 0; 
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Value of a is : 10 
Value of a is : 30 
Value of c is : 70 
Value of f is : 23.3333

Lvalues ​​e Rvalues ​​em D

Existem dois tipos de expressões em D -

  • lvalue - Uma expressão que é um lvalue pode aparecer como o lado esquerdo ou direito de uma atribuição.

  • rvalue - Uma expressão 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 seguinte 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;