Différence entre variable locale et globale

Table des matières:

Anonim

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.

Dans ce tutoriel, vous apprendrez

  • Portée des variables
  • Définition de la variable locale
  • Définition de la variable globale
  • Variable locale vs variables globales
  • Avantages de l'utilisation des variables globales
  • Avantages de l'utilisation des variables locales
  • Inconvénients de l'utilisation des variables globales
  • Inconvénients de l'utilisation des variables locales
  • Qu'est-ce qui est le plus utile?

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» à l'intérieur d'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 y a trois endroits où les variables vous pouvez déclarer le langage de programmation variable:

  • À 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

DIFFÉRENCE CLÉ

  • 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, la variable globale est créée au début de l'exécution et est perdue lorsque le programme se termine.
  • La variable locale ne fournit pas de partage de données tandis que la variable globale fournit le partage de données.
  • Les variables locales sont stockées sur la pile tandis que la variable globale est stockée à un emplacement fixe décidé par le compilateur.
  • Le passage des paramètres est requis pour les variables locales alors qu'il n'est pas nécessaire pour une variable globale

Variable locale

La variable locale est définie 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 détruit automatiquement.

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

Une 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 dans tout le programme par n'importe quelle fonction définie dans le programme, à moins qu'elle ne soit masquée.

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ètre Local Global
Portée Il est déclaré à l'intérieur d'une fonction. Il est déclaré en dehors de la fonction.
Évaluer S'il n'est pas initialisé, une valeur de garbage est stockée S'il n'est pas initialisé, zéro est stocké par défaut.
Durée de vie Il est créé lorsque la fonction démarre l'exécution et est perdu lorsque les fonctions se terminent. Il est créé avant le démarrage de l'exécution globale du programme et perdu à la fin du programme.
Partage de 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 puissent accéder à la valeur dans une autre fonction Le passage de paramètres n'est pas nécessaire pour une variable globale car il 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 modifications 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é sur un emplacement fixe décidé par le compilateur.

Avantages de l'utilisation des variables globales

  • Vous pouvez accéder à la variable globale à partir de toutes les fonctions ou modules d'un programme
  • Il vous suffit de déclarer la 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 des 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 qui s'exécute 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 attribuer 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ère l'espace mémoire qu'elle occupe.

Inconvénients de l'utilisation des variables globales

  • Trop de variables déclarées comme globales, elles restent alors en mémoire jusqu'à ce que l'exécution du programme soit terminée. 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 de la refactorisation du code, vous devrez changer tous les modules où elles sont appelées.

Inconvénients de l'utilisation des 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.
  • Ils ont une portée très limitée.

Qu'est-ce qui est le plus utile?

La variable locale et globale est également importante lors de l'écriture d'un programme dans n'importe quelle langue. Cependant, un grand nombre de la variable globale peut occuper une mémoire énorme. Un changement indésirable des variables globales est devenu difficile à identifier. Par conséquent, il est conseillé d'éviter de déclarer des variables globales indésirables.