Types de variables C ++

Une variable nous fournit un stockage nommé que nos programmes peuvent manipuler. Chaque variable en C ++ 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 C ++ est sensible à la casse -

Il existe les types de variables de base suivants en C ++, comme expliqué dans le dernier chapitre -

Sr.Non Type et description
1

bool

Stocke la valeur true ou false.

2

char

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

3

int

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

4

float

Une valeur à virgule flottante simple précision.

5

double

Une valeur à virgule flottante double précision.

6

void

Représente l'absence de type.

sept

wchar_t

Un type de caractère large.

C ++ permet également de définir divers autres types de variables, que nous aborderons dans les chapitres suivants comme Enumeration, Pointer, Array, Reference, Data structures, et Classes.

La section suivante couvrira comment définir, déclarer et utiliser différents types de variables.

Définition de variable en C ++

Une définition de variable indique au compilateur où et combien de stockage 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 C ++ valide, y compris char, w_char, 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;

Quelques exemples sont -

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

Pour une définition sans initialiseur: les variables avec une durée de stockage statique sont implicitement initialisées avec NULL (tous les octets ont la valeur 0); la valeur initiale de toutes les autres variables n'est pas définie.

Déclaration de variable en C ++

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éfinition de variable réelle au moment de la liaison du programme.

Une déclaration de variable est utile lorsque vous utilisez plusieurs fichiers et que vous définissez votre variable dans l'un des fichiers qui seront disponibles au moment de la liaison du programme. Vous utiliserezexternmot-clé pour déclarer une variable à tout endroit. Bien que vous puissiez déclarer une variable plusieurs fois dans votre programme C ++, elle ne peut être définie qu'une seule fois dans un fichier, une fonction ou un bloc de code.

Exemple

Essayez l'exemple suivant où une variable a été déclarée en haut, mais elle a été définie dans la fonction principale -

#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;
}

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

30
23.3333

Le même concept s'applique à la déclaration de fonction où vous fournissez un nom de fonction au moment de sa déclaration et sa définition réelle peut être donnée n'importe où ailleurs. Par exemple -

// function declaration
int func();
int main() {
   // function call
   int i = func();
}

// function definition
int func() {
   return 0;
}

Lvalues ​​et Rvalues

Il existe deux types d'expressions en C ++ -

  • lvalue- Les expressions qui font référence à un emplacement mémoire sont appelées expression "lvalue". Une lvalue peut apparaître comme le côté gauche ou droit d'une affectation.

  • rvalue- Le terme rvalue fait référence à une valeur de données qui est stockée à une certaine adresse en mémoire. Une rvalue est une expression qui ne peut pas avoir de valeur assignée, ce qui signifie qu'une rvalue 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. Voici une déclaration valide -

int g = 20;

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

10 = 20;