Programmation D - Variables

Une variable n'est rien d'autre qu'un nom donné à une zone de stockage que nos programmes peuvent manipuler. Chaque variable dans D a un type spécifique, qui détermine la taille et la disposition de la mémoire de la variable; la plage de valeurs pouvant être stockées dans cette mémoire; et l'ensemble des opérations qui peuvent être appliquées à la variable.

Le nom d'une variable peut être composé de lettres, de chiffres et du caractère de soulignement. Il doit commencer par une lettre ou un trait de soulignement. Les lettres majuscules et minuscules sont distinctes car D est sensible à la casse. Sur la base des types de base expliqués dans le chapitre précédent, il y aura les types de variables de base suivants -

N ° Sr. Type et description
1

char

Généralement un seul octet (un octet). Il s'agit d'un type entier.

2

int

La taille entière la plus naturelle de la machine.

3

float

Une valeur à virgule flottante simple précision.

4

double

Une valeur à virgule flottante double précision.

5

void

Représente l'absence de type.

Le langage de programmation D permet également de définir divers autres types de variables telles que l'énumération, le pointeur, le tableau, la structure, l'union, etc., que nous aborderons dans les chapitres suivants. Pour ce chapitre, étudions uniquement les types de variables de base.

Définition de variable en D

Une définition de variable indique au compilateur où et combien d'espace créer pour la variable. Une définition de variable spécifie un type de données et contient une liste d'une ou plusieurs variables de ce type comme suit -

type variable_list;

Ici, type doit être un type de données D valide, y compris char, wchar, int, float, double, bool, ou tout objet défini par l'utilisateur, etc., et variable_listpeut consister en un ou plusieurs noms d'identificateurs séparés par des virgules. Certaines déclarations valides sont affichées ici -

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

La ligne int i, j, k;à la fois déclare et définit les variables i, j et k; qui demande au compilateur de créer des variables nommées i, j et k de type int.

Les variables peuvent être initialisées (affectées d'une valeur initiale) dans leur déclaration. L'initialiseur se compose d'un signe égal suivi d'une expression constante comme suit -

type variable_name = value;

Exemples

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

Lorsqu'une variable est déclarée dans D, elle est toujours définie sur son 'initialiseur par défaut', auquel on peut accéder manuellement comme T.initT est le type (ex. int.init). L'initialiseur par défaut pour les types entiers est 0, pour les booléens false et pour les nombres à virgule flottante NaN.

Déclaration de variable en D

Une déclaration de variable fournit l'assurance au compilateur qu'il existe une variable avec le type et le nom donnés afin que le compilateur procède à une compilation ultérieure sans avoir besoin de détails complets sur la variable. Une déclaration de variable a sa signification au moment de la compilation uniquement, le compilateur a besoin d'une déclaration de variable réelle au moment de la liaison du programme.

Exemple

Essayez l'exemple suivant, où des variables ont été déclarées au début du programme, mais sont définies et initialisées dans la fonction 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; 
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

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

Lvalues ​​et Rvalues ​​en D

Il existe deux types d'expressions en D -

  • lvalue - Une expression qui est une valeur l peut apparaître comme le côté gauche ou droit d'une affectation.

  • rvalue - Une expression qui est une rvaleur peut apparaître à droite mais pas à gauche d'une affectation.

Les variables sont des valeurs l et peuvent donc apparaître sur le côté gauche d'une affectation. Les littéraux numériques sont des valeurs r et ne peuvent donc pas être affectés et ne peuvent pas apparaître sur le côté gauche. La déclaration suivante est valide -

int g = 20;

Mais ce qui suit n'est pas une instruction valide et générerait une erreur de compilation -

10 = 20;