Variables globales C

Une introduction aux variables globales C

Dans leVariables et types Cpost J'ai présenté comment travailler avec des variables.

Dans cet article, je veux mentionner la différence entrevariables globales et locales.

UNEvariable localeest défini à l'intérieur d'une fonction, et n'est disponible qu'à l'intérieur de cette fonction.

Comme ça:

#include <stdio.h>

int main(void) {
  char j = 0;
  j += 10;
  printf("%u", j); //10
}

jn'est disponible nulle part en dehors demainfonction.

UNEvariable globaleest défini en dehors de toute fonction, comme ceci:

#include <stdio.h>

char i = 0;

int main(void) { i += 10; printf("%u", i); //10 }

Une variable globale est accessible par n'importe quelle fonction du programme. L'accès ne se limite pas à la lecture de la valeur: la variable peut être mise à jour par n'importe quelle fonction.

Pour cette raison, les variables globales sont un moyen dont nous disposons pour partager les mêmes données entre les fonctions.

La principale différence avec les variables locales est que la mémoire allouée aux variables est libérée une fois la fonction terminée.

Les variables globales ne sont libérées qu'à la fin du programme.

Téléchargez mon gratuitManuel C


Plus de tutoriels clang: