Code Null
Publié le
2021-11-16

Mis à jour le
2021-11-16

Les variables

Dans cette partie du cours, vous allez voir à quoi sert une variable.

Qu'est-ce qu'une variable ?
Une variable est un espace en mémoire qui est utilisé pour contenir une valeur.
Mais, plus loin dans le cours, nous verrons qu'une variable peut contenir d'autres informations.

Pour déclarer une variable le principe est toujours le même, on doit lui donner un type avec un identifiant.
Après, on doit lui assigné l'opérateur égal avec une valeur par défaut: une valeur par défaut est une valeur que vous lui donnez à sa création ou à sa définition. Dans cet exemple, j'ai défini une variable locale.
void MaFonction()
{
int Vie = 100; //Variable(local).
}
Si votre variable est locale ou entre les accolades, elle va être utilisable que dans l’endroit où elle est contenue. Elle va aussi rester en mémoire tant que les accolades qui la contiennent ne seront pas quittées. Une fois cette fonction quittée, la variable locale va être détruite pour qu'une autre information puisse occuper cet emplacement.
Cela s'appelle une allocation et une dé-allocation de mémoire.


Mais une variable qui est globale ou pas contenue entre les accolades pourra être récupérée partout dans votre page.
La variable globale va rester en mémoire durant tout le déroulement de votre programme.
int Vie = 100; //Variable(global).

int Fonction()
{...}
Elle peut aussi être déclarée sans contenir de valeur par défaut, mais il sera important de lui affecter une valeur à son utilisation.
int Vie;

Si vous ne lui donnez pas de valeur par défaut, vous pourriez hériter d'une valeur qui ne correspond pas avec le type choisi.
🧐 Je m'explique! Si vous déclarez une variable entière sans valeur par défaut,  elle pourrait occuper l'emplacement qui contient une information qui vous serait inconnue.  La valeur par défaut reçue provoquera une erreur et vous pourriez hériter d'une information qui peut ressembler à cette image:


En conclusion, le C/C++ ne donne pas de valeur par défaut aux variables que vous allez déclarer, mais il vous donne la valeur en mémoire qui se trouve à cet emplacement.

Pour éviter ce problème, il faut lui donner une valeur d'affectation, on doit se placer entre les accolades, on écrit son identifiant avec l'opérateur égal et sa valeur. Une fois que c'est fait, votre variable est prête à l’emploi et on peut la modifier selon votre bon plaisir, tant que vous n’avez pas besoin de la valeur qu'elle contient. Ce principe reste le même pour les variables locales.
int Vie;

int Fonction()
{
Vie = 100; //Affectation de la variable(locale).
}
Il faut faire la différence entre une valeur par défaut et la valeur d'affectation.
La valeur par défaut est donnée à sa définition ou à sa création et c'est une valeur qu'on lui donne comme point de départ.
Mais, une valeur d'affectation est une information qui est envoyée à la variable pour modifier son contenu.
Bien sûr le résultat reste le même, mais il est important de comprendre les termes utilisés en programmation.

Il est possible de définir deux variables avec un identifiant identique, mais une des variables doit être globale et l'autre locale. La variable locale va toujours passer en priorité à l'utilisation.
int Facture = 100; //Variable(globale).

int CalculeDeFacture()
{

int
Facture = 100; //Variable (locale).
return
0;
}
🧐 Je m'explique! Si tu demandes d'afficher la variable "Facture", le programme va devoir prendre une des deux variables qui sont définies et qui portent le même identifiant. Alors, il va utiliser la variable locale à chaque fois.
Plus tard, dans le cours, nous allons regarder comment on peut lui demander d'afficher la variable globale plutôt que la variable locale.

Nous allons faire le tour des autres variables pour voir ce qui pourrait être utilisé.
Les trois premiers types sont employés pour contenir une valeur entière.
short Variable1 = 32767;
int Variable2 = 2147483648;
long Variable3 = 92233720368547732767;
Pour les valeurs décimales, il existe deux types, comme dans cet exemple:
double Identifiant_double = 3.4;
float Identifiant_float = 3.4f;
Retenez bien que les types décimaux incluent aussi les nombres entiers.
Le "float" est un type qui s'écrit avec un "f" à chaque valeur d'affectation ce qui permet de le différencier du double.

Pour modifier l’état d'une variable en mémoire, il existe également deux types que l'on peut utiliser: 
Le type "signed" (signé) qui est un état positif et négatif. Cette variable pourra contenir une valeur positive ou négative.
signed int Identifiant = 100;
Le type "unsigned" (non-signé) est un état que positif et cette variable ne prendra qu'une valeur positive. Mais, cette valeur positive sera plus grande en mémoire vu que vous n’avez pas de valeur négative.
unsigned int Identifiant = 100;
Pour interdire la modification d'une variable, on doit utiliser le type "const", qui ne peut recevoir qu'une valeur par défaut. Donc, il ne sera pas possible plus tard de lui donner une autre valeur d'affectation. 
const int Identifiant = 100;
Le "bool" est aussi un autre type, il ne contient que deux états : 0 ou 1. On peut écrire  "True" (1) ou  "False" (0) quand vous utilisez cette variable. Le "true" est une valeur qui indique une réponse vraie, alors que le "false" indique que la réponse est fausse.
Bool Identifiant = true;
Pour terminer, il y aurait un autre type, le "char", mais j'ai pris soin de vous garder cette dernière variable, car elle vous servira pour une autre partie du cours.

Allons voir maintenant à quoi servent les parenthèses qui sont utilisées pour inclure les paramètres d'une fonction.