Programmazione D - Variabili

Una variabile non è altro che un nome dato a un'area di memoria che i nostri programmi possono manipolare. Ogni variabile in D ha un tipo specifico, che determina la dimensione e il layout della memoria della variabile; l'intervallo di valori che possono essere memorizzati all'interno di quella memoria; e l'insieme di operazioni che possono essere applicate alla variabile.

Il nome di una variabile può essere composto da lettere, cifre e il carattere di sottolineatura. Deve iniziare con una lettera o un trattino basso. Le lettere maiuscole e minuscole sono distinte perché D fa distinzione tra maiuscole e minuscole. In base ai tipi di base spiegati nel capitolo precedente, ci saranno i seguenti tipi di variabili di base:

Sr.No. Tipo e descrizione
1

char

Tipicamente un singolo ottetto (un byte). Questo è un tipo intero.

2

int

La dimensione più naturale del numero intero per la macchina.

3

float

Un valore in virgola mobile a precisione singola.

4

double

Un valore in virgola mobile a precisione doppia.

5

void

Rappresenta l'assenza di tipo.

Il linguaggio di programmazione D permette anche di definire vari altri tipi di variabili come Enumeration, Pointer, Array, Structure, Union, ecc., Che tratteremo nei capitoli successivi. Per questo capitolo, studiamo solo i tipi di variabili di base.

Definizione variabile in D

Una definizione di variabile dice al compilatore dove e quanto spazio creare per la variabile. Una definizione di variabile specifica un tipo di dati e contiene un elenco di una o più variabili di quel tipo come segue:

type variable_list;

Qui, type deve essere un tipo di dati D valido che includa char, wchar, int, float, double, bool o qualsiasi oggetto definito dall'utente, ecc. e variable_listpuò essere costituito da uno o più nomi di identificatori separati da virgole. Alcune dichiarazioni valide sono mostrate qui -

int    i, j, k; 
char   c, ch; 
float  f, salary; 
double d;

La linea int i, j, k;entrambi dichiara e definisce le variabili i, j e k; che indica al compilatore di creare variabili denominate i, j e k di tipo int.

Le variabili possono essere inizializzate (assegnato un valore iniziale) nella loro dichiarazione. L'inizializzatore è costituito da un segno di uguale seguito da un'espressione costante come segue:

type variable_name = value;

Esempi

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 una variabile viene dichiarata in D, è sempre impostata sul suo "inizializzatore predefinito", a cui è possibile accedere manualmente come T.init dove T è il tipo (es. int.init). L'inizializzatore predefinito per i tipi interi è 0, per Booleans false e per i numeri a virgola mobile NaN.

Dichiarazione delle variabili in D

Una dichiarazione di variabile fornisce la garanzia al compilatore che esiste una variabile esistente con il tipo e il nome dati in modo che il compilatore proceda per un'ulteriore compilazione senza bisogno di dettagli completi sulla variabile. Una dichiarazione di variabile ha il suo significato solo al momento della compilazione, il compilatore necessita di una dichiarazione di variabile effettiva al momento del collegamento del programma.

Esempio

Prova il seguente esempio, in cui le variabili sono state dichiarate all'inizio del programma, ma sono definite e inizializzate all'interno della funzione principale -

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 il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Lvalues ​​e Rvalues ​​in D

Esistono due tipi di espressioni in D:

  • lvalue - Un'espressione che è un lvalue può apparire come il lato sinistro o destro di un compito.

  • rvalue - Un'espressione che è un valore può apparire a destra ma non a sinistra di un compito.

Le variabili sono i valori e quindi possono apparire sul lato sinistro di un compito. I letterali numerici sono rvalues ​​e quindi potrebbero non essere assegnati e non possono essere visualizzati sul lato sinistro. La seguente dichiarazione è valida:

int g = 20;

Ma quanto segue non è un'affermazione valida e genererebbe un errore in fase di compilazione -

10 = 20;