Les variables

Une variable c’est un terme que l’on donne pour définir les données que nous allons manipuler tout au long du programme. Une variable est volatile car à un moment donné, elle sera supprimée de l’ordinateur, elle devra être libérée. Peu importe le nom qu’elle porte, sauf ceux la :

  • auto
  • break
  • case
  • char
  • const
  • default
  • do
  • double
  • else
  • enum
  • extern
  • float
  • for
  • goto
  • if
  • int
  • long
  • register
  • return
  • short
  • signed
  • sizeof
  • static
  • struct
  • switch
  • typedef
  • union
  • unsigned
  • void
  • volatile
  • while

Le nom de la variable est une sorte d’alias pour mieux se retrouver, elle porte en réalité l’adresse mémoire tel que « 0xF500DA » par exemple. Elle se déclare de telle sorte avec un type, le nom et son affectation :

int age = 10;

Il existe différent types de variable, en voici un tableau le tableau récapitulatif :

TypeOccupation mémoireValeur minimumValeur maximum
char
signed char1 octet-128127
unsigned char1 octet0255
int2 octets / 4 octets-32’768 / -2’147’483’64832’767 / 2’147’483’647
unsigned int2 octets / 4 octets0 / 065’535 / 4’294’967’295
short2 octets-32’76832’767
unsigned short2 octets065’535
long4 octets-2’147’483’6482’147’483’647
unsigned long4 octets04’294’967’295
long long8 octets-9’223’372’036’854’780’0009’223’372’036’854’780’000
unsigned long long8 octets018’446’744’073’709’600’000
float4 octets-3.4e383.4e38
double8 octets-1.7e3081.7e308
long double10 octets-1.1e49321.1e4932

Il existe des drapeaux qui permettent d’afficher le contenu des variables tel que :

  • %d Il concernera les nombres entier (int)
  • %f Il concernera les nombres flottant (float / double)
  • %c Il concernera les caractères (char / signed char)
  • %s Il concernera les chaines de caractères
  • %.3f permet de récupérer seulement 3 chiffres après la virgule

Par exemple :

#include <stdio.h>

int main(void)
{
    int nombre = 10;
    printf("Le nombre est %d\n", nombre);
    return 0;
}

Il existe ensuite des mots clefs important à savoir. Même si les compilateurs de maintenant permettent de le faire automatiquement, que l’on peut mettre avant le type de variable :

  • register Il permet de stocker la variable dans la mémoire du processeur et non dans la RAM
  • volatile Il permet de faire en sorte que la variable ne passe jamais par la mémoire du processeur