Différence entre la variable locale et globale

Principales différences entre la variable locale et la variable globale

  • La variable locale est dĂ©clarĂ©e Ă  l'intĂ©rieur d'une fonction, tandis que la variable globale est dĂ©clarĂ©e en dehors de la fonction.
  • Les variables locales sont créées lorsque la fonction a commencĂ© l'exĂ©cution et sont perdues lorsque la fonction se termine, par contre, une variable globale est créée au dĂ©marrage de l'exĂ©cution et est perdue lorsque le programme se termine.
  • La variable locale ne permet pas le partage de donnĂ©es, alors que la variable globale permet le partage de donnĂ©es.
  • Les variables locales sont stockĂ©es sur la pile, tandis que la variable globale est stockĂ©e dans un emplacement fixe dĂ©cidĂ© par le compilateur.
  • Le passage de paramètres est requis pour les variables locales, alors qu'il n'est pas nĂ©cessaire pour une variable globale

Différence entre variable locale et globale

Qu'est-ce qu'une variable ?

La variable est un nom attribué à une zone de stockage que le programme peut manipuler. Un type de variable détermine la taille et la disposition de la mémoire de la variable.

Il détermine également la plage de valeurs qui doivent être stockées dans cette mémoire et la nature des opérations qui peuvent être appliquées à cette variable.

Portée des variables

La portée de la variable est simplement la durée de vie d'une variable. C'est un bloc de code sous lequel une variable est applicable ou vivante. Par exemple:

function foo(){
var x;
}

Vous déclarez une variable « x » dans une fonction « foo ». La portée de cette variable reste à l'intérieur de cette fonction, elle ne peut pas être utilisée en dehors de cette fonction.
Il existe trois endroits oĂą vous pouvez dĂ©clarer des variables dans un langage de programmation :

  • A l'intĂ©rieur d'une fonction ou d'un bloc : Variables locales
  • En dehors de toutes les fonctions : variables globales
  • Dans la dĂ©finition des paramètres de fonction : Paramètres formels

Variable locale

Variable locale est défini comme un type de variable déclaré dans un bloc de programmation ou des sous-programmes. Il ne peut être utilisé qu'à l'intérieur du sous-programme ou du bloc de code dans lequel il est déclaré. La variable locale existe jusqu'à ce que le bloc de la fonction soit en cours d'exécution. Après cela, il sera automatiquement détruit.

Exemple de variable locale

public int add(){
int a =4;
int b=5;
return a+b;
}

Ici, 'a' et 'b' sont des variables locales

Variable globale

A Variable globale dans le programme est une variable définie en dehors du sous-programme ou de la fonction. Il a une portée mondiale, ce qui signifie qu'il conserve sa valeur tout au long de la durée de vie du programme. Par conséquent, il est accessible tout au long du programme par n'importe quelle fonction définie dans le programme, à moins qu'il ne soit masqué.

Exemple :

int a =4;
int b=5;
public int add(){
return a+b;
}

Ici, « a » et « b » sont des variables globales.

Variable locale vs variables globales

Voici quelques différences fondamentales entre les variables locales et globales.

Paramètres Fournisseurs Importation
Domaine Il est déclaré dans une fonction. Il est déclaré en dehors de la fonction.
Valeur S'il n'est pas initialisé, une valeur inutile est stockée S'il n'est pas initialisé, le zéro est stocké par défaut.
À vie Il est créé lorsque la fonction démarre son exécution et perdu lorsque les fonctions se terminent. Il est créé avant le début de l'exécution globale du programme et perdu à la fin du programme.
Le partage des données Le partage de données n'est pas possible car les données de la variable locale ne sont accessibles que par une seule fonction. Le partage de données est possible car plusieurs fonctions peuvent accéder à la même variable globale.
Paramètres Le passage des paramètres est requis pour que les variables locales accèdent à la valeur dans une autre fonction Le passage de paramètres n'est pas nécessaire pour une variable globale car elle est visible dans tout le programme
Modification de la valeur de la variable Lorsque la valeur de la variable locale est modifiée dans une fonction, les changements ne sont pas visibles dans une autre fonction. Lorsque la valeur de la variable globale est modifiée dans une fonction, les changements sont visibles dans le reste du programme.
Consulté par Les variables locales sont accessibles à l'aide d'instructions, à l'intérieur d'une fonction dans laquelle elles sont déclarées. Vous pouvez accéder aux variables globales par n'importe quelle instruction du programme.
Stockage de mémoire Il est stocké sur la pile sauf indication contraire. Il est stocké à un emplacement fixe décidé par le compilateur.

Avantages de l'utilisation des variables globales

  • Vous pouvez accĂ©der Ă  la variable globale depuis toutes les fonctions ou modules d'un programme
  • Vous avez seulement besoin de dĂ©clarer une variable globale temps unique en dehors des modules.
  • Il est idĂ©alement utilisĂ© pour stocker des "constantes" car il vous aide Ă  conserver la cohĂ©rence.
  • Une variable globale est utile lorsque plusieurs fonctions accèdent aux mĂŞmes donnĂ©es.

Avantages de l'utilisation de variables locales

  • L'utilisation de variables locales offre une garantie que les valeurs des variables resteront intactes pendant l'exĂ©cution de la tâche.
  • Si plusieurs tâches modifient une seule variable exĂ©cutĂ©e simultanĂ©ment, le rĂ©sultat peut ĂŞtre imprĂ©visible. Mais le dĂ©clarer comme variable locale rĂ©sout ce problème car chaque tâche crĂ©era sa propre instance de la variable locale.
  • Vous pouvez donner le mĂŞme nom aux variables locales dans diffĂ©rentes fonctions car elles ne sont reconnues que par la fonction dans laquelle elles sont dĂ©clarĂ©es.
  • Les variables locales sont supprimĂ©es dès qu'une fonction est terminĂ©e et libèrent l'espace mĂ©moire qu'elle occupe.

Inconvénients de l'utilisation de variables globales

  • Trop de variables sont dĂ©clarĂ©es comme globales, elles restent alors en mĂ©moire jusqu'Ă  la fin de l'exĂ©cution du programme. Cela peut provoquer un problème de mĂ©moire insuffisante.
  • Les donnĂ©es peuvent ĂŞtre modifiĂ©es par n'importe quelle fonction. Toute instruction Ă©crite dans le programme peut modifier la valeur de la variable globale. Cela peut donner des rĂ©sultats imprĂ©visibles dans des environnements multitâches.
  • Si les variables globales sont interrompues en raison d'une refactorisation du code, vous devrez modifier tous les modules oĂą elles sont appelĂ©es.

Inconvénients de l'utilisation de variables locales

  • Le processus de dĂ©bogage d’une variable locale est assez dĂ©licat.
  • Les donnĂ©es communes doivent ĂŞtre transmises Ă  plusieurs reprises car le partage de donnĂ©es n'est pas possible entre les modules.
  • Leur portĂ©e est très limitĂ©e.

Quoi de plus utile ?

Les variables locales et globales sont tout aussi importantes lors de l'écriture d'un programme dans n'importe quelle langue. Cependant, un grand nombre de variables globales peuvent occuper une énorme mémoire. Un changement indésirable dans les variables globales est devenu difficile à identifier. Il est donc conseillé d’éviter de déclarer des variables globales indésirables.

Résumez cet article avec :