Académique Documents
Professionnel Documents
Culture Documents
Langage C++/Constantes et
Variables
< Langage C++
Constantes et Variables
En C++ nous avons besoin, pour pouvoir travailler, d'enregistrer
des valeurs en mémoire.
La Mémoire
La Pile
La pile est bâtie sur le modèle LIFO (Last In First Out) ce qui
signifie littéralement "Dernier Entré Premier Sorti" (DEPS). Il faut
voir cet espace mémoire comme une pile d'assiettes où on a le
droit d'empiler/dépiler qu'une seule assiette à la fois. Par contre
on a le droit d'empiler des assiettes de taille différente. Lorsque
l’on ajoute des assiettes on les empile par le haut, les unes au
dessus des autres. Quand on les "dépile" on le fait en
commençant aussi par le haut, soit par la dernière posée.
Lorsqu'une valeur est dépilée elle est effacée de la mémoire.
Le Tas
Allocation en Pile
Exemple
Exemple
char c = 'A';
Allocation en Tas
Pour allouer en tas en C++, il faut utiliser le mot clé "new" qui
retourne un pointeur (nous verrons les pointeurs dans un autre
chapitre). Après allocation il faut impérativement désallouer le tas
sous peine de créer une fuite de mémoire. Pour désallouer une
variable en tas, il faut utiliser le mot clé "delete" qui attend comme
paramètre un pointeur.
Exemple
Variables et Constantes
Définition
Syntaxe:
<Type> <NomVariable>[ =
<Valeur>];
<NomVariable> =
<AutreValeur>;
Où <Type> correspond au type (de base ou étendu) qui contiendra
la valeur constante ou variable <Valeur> et <AutreValeur>,
désignée par le nom <NomVariable>. <Type> et <Valeur> doivent
être de même nature. <NomVariable> est un identifiant unique
répondant aux mêmes critères que les identifiants de constantes.
Exemple
//exemple de variable du
type caractère
char c = 'A';
//exemple de variable du
type entier
int i = 2007;
Attention : Certains identifiants sont interdits. Ils sont utilisés par
l'environnement de développement et les utiliser provoquera au
mieux des erreurs de logique et au pire un plantage général de
l'application, pouvant entraîner des instabilités du système. Non
seulement la liste est très longue mais elle change en fonction de
l'environnement de développement utilisé. Heureusement la plupart
des compilateurs avertissent de la mauvaise utilisation de ces
identifiants. Si, d'aventure, ils ne le faisaient pas et que vous
constatiez des erreurs inexpliquées à l’utilisation d’un identifiant,
cela viendrait peut-être d’un problème de conflit de noms
d'identifiant.
a Valide
R2d2_c6PO_Starwars Valide
_a Valide
_2 Valide
_ Valide (à éviter)
-a Non valide (le "-" est considéré comme l'opérateur mathématique moins)
Métronome Non valide (une lettre accentuée n’est pas un caractère autorisé dans un nom d'identifiant)
Les Constantes
Définition
Syntaxe:
const <type>
<NomConstante> = <valeur>;
Exemple
//exemple de constante
caractère
const char c = 'A';
//exemple de constante
entière
const int i = 2007;
Exemple
//exemple de constante
caractère non nommée
'A'
//exemple de constante
chaîne non nommée
"Une chaine."
//exemple de constante
entière non nommée
27
//exemple de constante
réelle non nommée
2.6
Exemples :
Exemple
/*
Création d’une constante nommée
"A_MinusculeAccentCirconflexeNumerique", de
type "char",
initialisé avec la valeur constante "-125".
*/
const char
A_MinusculeAccentCirconflexeNumerique = -125;
/*
Création d’une constante nommée
"A_MinusculeAccentCirconflexeAlphanumerique",
de type "char",
initialisé avec le caractère constant "â".
*/
const char
A_MinusculeAccentCirconflexeAlphanumerique =
'â';
/*
Création d’une constante nommée
"E_MajusculeAccentAiguNumerique", de type
"unsigned char",
initialisé avec la valeur constante "144".
*/
const unsigned char
E_MajusculeAccentAiguNumerique = 144;
/*
Création d’une constante nommée
"E_MajusculeAccentAiguAlphanumerique", de
type "unsigned char",
initialisé avec le caractère constant "â".
*/
const unsigned char
E_MajusculeAccentAiguAlphanumerique = 'É';
/*
Création d’une constante nommée "MaxShort",
de type "short",
initialisé avec la valeur constante "32768".
*/
const short MaxShort = 32768;
/*
Création d’une constante nommée "MinShort",
de type "short",
initialisé avec la valeur constante "-32767".
*/
const short MinShort = -32767;
/*
Création d’une constante nommée
"MaxUnsignedShort", de type "unsigned short",
initialisé avec la valeur constante "65535".
*/
const unsigned short MaxUnsignedShort =
65535;
/*
Création d’une constante nommée
"MinUnsignedShort", de type "unsigned short",
initialisé avec la valeur constante "0".
*/
const unsigned short MinUnsignedShort = 0;
/*
Création d’une constante nommée "MaxInt", de
type "int",
initialisé avec la valeur constante
"2147483648".
*/
const int MaxInt = 2147483648;
/*
Création d’une constante nommée "MinInt", de
type "int",
initialisé avec la valeur constante
"-2147483647".
*/
const int MinInt = -2147483647;
/*
Création d’une constante nommée
"MaxUnsignedInt", de type "unsigned int",
initialisé avec la valeur constante
"4294967295".
*/
const unsigned int MaxUnsignedInt =
4294967295;
/*
Création d’une constante nommée
"MinUnsignedInt", de type "unsigned int",
initialisé avec la valeur constante "0".
*/
const unsigned int MinUnsignedInt = 0;
Exemple
/*
Création d’une variable nommée
"A_MinusculeAccentCirconflexeNumerique", de
type "char",
initialisé avec la valeur constante numérique
"-125".
*/
char A_MinusculeAccentCirconflexeNumerique =
-125;
/*
Création d’une variable nommée
"A_MinusculeAccentCirconflexeAlphanumerique",
de type "char",
non-initialisé.
*/
char
A_MinusculeAccentCirconflexeAlphanumerique;
//Initialisation de la variable
"A_MinusculeAccentCirconflexeAlphanumerique"
avec le caractère constant "â".
A_MinusculeAccentCirconflexeAlphanumerique =
'â';
/*
Création d’une variable nommée
"E_MajusculeAccentAiguNumerique", de type
"unsigned char",
non-initialisé.
*/
unsigned char E_MajusculeAccentNumerique;
//Initialisation de la variable
"E_MajusculeAccentAiguNumerique" avec la
valeur constante numérique "144".
E_MajusculeAccentAiguNumerique = 144;
/*
Création d’une variable nommée
"A_E_MajusculeAccentAiguAlphanumerique", de
type "unsigned char",
initialisé avec le caractère constant "É".
*/
unsigned char
E_MajusculeAccentAiguAlphanumerique = 'É';
/*
Création d’une variable nommée "MaxShort", de
type "short",
non-initialisé.
*/
short MaxShort;
//Initialisation de la variable
"E_MajusculeAccentAiguNumerique" avec la
valeur constante numérique "32768".
MaxShort = 32768;
/*
Création d’une variable nommée "MinShort", de
type "short",
initialisé avec la valeur constante numérique
"-32767".
*/
short MinShort = -32767;
/*
Création d’une variable nommée
"MaxUnsignedShort", de type "unsigned short",
initialisé avec la valeur constante numérique
"65535".
*/
unsigned short MaxUnsignedShort = 65535;
/*
Création d’une variable nommée
"MaxUnsignedShort", de type "unsigned short",
mon-initialisé.
*/
unsigned short MinUnsignedShort;
//Initialisation de la variable
"MinUnsignedShort" avec la valeur constante
numérique "0".
MinUnsignedShort = 0;
/*
Création d’une variable nommée "MaxInt", de
type "int",
mon-initialisé.
*/
int MaxInt;
//Initialisation de la variable "MaxInt" avec
la valeur constante numérique "2147483648".
MaxInt = 2147483648;
/*
Création d’une variable nommée "MinInt", de
type "int",
initialisé avec la valeur constante numérique
"-2147483647".
*/
int MinInt = -2147483647;
/*
Création d’une variable nommée
"MaxUnsignedInt", de type "unsigned int",
initialisé avec la valeur constante numérique
"4294967295".
*/
unsigned int MaxUnsignedInt = 4294967295;
/*
Création d’une variable nommée
"MinUnsignedInt", de type "unsigned int",
initialisé avec la valeur constante numérique
"0".
*/
unsigned int MinUnsignedInt = 0;
Récupérée de « https://fr.wikiversity.org/w/index.php?
title=Langage_C%2B%2B/Constantes_et_Variables&oldid=804732 »
Wikiversité