Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Langage C++
  3. Variables simples
Extrait - Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition)
Extraits du livre
Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition) Revenir à la page d'achat du livre

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(); ...