Variables simples
Introduction
Une variable est un espace mémoire réservé et accessible qui permet de stocker et d’utiliser des valeurs numériques. Il y a deux actions possibles :
-
Donner une valeur à la variable.
-
Utiliser la valeur de la variable (dans un calcul, par exemple).
En C et C++, il y a plusieurs types de variables. Chaque type est identifié par un mot-clé. Il définit une taille en mémoire pour la variable et certaines propriétés. Pour les variables simples, il s’agit uniquement de savoir s’il y a une virgule ou pas, si elles sont signées ou non (+, -).
Hérité du C
1. Différents types de variables
Voici récapitulées les propriétés de chacun des sept types de variables prédéfinies en C retrouvés en C++ :
Mots-clés |
Taille en octets |
Nombre de codes possibles |
Plage en non signé |
Plage en signé |
Propriétés |
char |
1 |
28 |
0 à 28 -1 |
-27 à 27-1 |
Entiers |
bool |
1 |
2 |
0 ou 1 |
Non |
Entiers |
short |
2 |
216 |
0 à 216 -1 |
-215 à 215-1 |
Entiers |
int |
2 ou 4 (selon environnement) |
216 ou 232 |
0 à 216 -1 ou 0 à 232 -1 |
-215 à 215-1 ou -231 à 231-1 |
Entiers |
long |
4 |
232 |
0 à 232 -1 |
-231 à 231-1 |
Entiers |
long long |
8 |
264 |
0 à 264 -1 |
-263 à 263-1 |
Entiers |
float |
4 |
232 |
0 à 232 -1 |
-231 à 231-1 |
Réels (virgule) |
double |
8 |
264 |
0 à 264 -1 |
-263 à 263-1 |
Réels (virgule) |
long double |
8 |
264 |
0 à 264 -1 |
-263 à 263-1 |
Réels (virgule) |
Pointeurs (opérateur étoile *) et références (opérateurs référence & et &&) |
4 |
232 |
0 à 232 -1 |
Contiennent des adresses mémoire |
Contiennent des adresses mémoire |
Par défaut, toutes les variables sont signées (hors booléens et pointeurs). Le mot-clé signed est utilisé implicitement par la machine. Pour avoir des variables non signées, il faut le spécifier explicitement avec le mot-clé unsigned.
À propos du type booléen
Il n’admet que deux valeurs : false qui vaut 0 et true qui vaut 1. Par exemple :
bool b = 10;
cout<< b <<endl;
imprime dans la console la valeur 1.
En C, l’utilisation du type bool nécessite l’inclusion de la bibliothèque <stdbool.h>.
À propos du type long double
Le type long double, contrairement à ce que l’on pourrait penser, ne prend actuellement...
Apports du C++
1. Initialisations des variables
Le C++ offre trois moyens d’initialiser une variable à sa déclaration.
-
L’utilisation de l’opérateur d’affectation = comme en C :
double d1 = 50;
-
Des parenthèses contenant une valeur et accolées au nom de la variable déclarée, une façon de faire à l’origine utilisée dans les constructeurs d’objets :
double d2(60);
-
Et pour finir, les accolades ouvrantes et fermantes qui généralisent le principe de l’initialisation à n’importe quel type d’élément dans un programme, qu’il s’agisse de variables prédéfinies, de tableaux, de structures ou d’objets.
double d3 = { 70 };
double d4{ 80 };
Sous cette forme, l’initialisation à 0 peut s’écrire avec simplement les parenthèses vides :
double d5{ 0 }; // équivalent à
double d5{ };
Avec les accolades, l’utilisation de l’affectation n’est pas obligatoirement requise, mais elle demeure possible pour des raisons de compatibilité avec le C dans certaines situations.
Le programme :
#include <iostream>
int main()
{
double d1 = 50;
double d2(60);
double d3 = { 70 };
double d4{ 80 };
double d5{};
std::cout << d1 << " " << d2 << " " << d3 << " "
<< d4 << " " << d5 << std::endl;
std::cin.get(); ...