variables locales et globales. portée.




c ++, variables locales et globales, la portée des variables, c ++ débutantsPour la compréhension des variables de localisation sans doute commencer par une allégorie. Quoi “localité”? Cette limitation de l'espace des capacités. portée variable – c'est le morceau de code (fonction, cycle, namespaces), dans lequel la variable est déclarée (épeautre). En dehors de cette zone – le compilateur ne le voit pas (il est disponible).

Donc, il se trouve – Des variables telles que décrites dans les fonctions, Ils ne peuvent pas être utilisés à l'étranger. A titre d'exemple, considérez le code suivant:

Regardons un exemple de plus près. Nous avons donc une variable je, est une fonction décrite dans le programme. Son champ d'application et les actions – l'ensemble du programme ne se limite pas à. Et une fois qu'elle “légitime” l'ensemble du programme, dans toutes ses fonctions et opérateurs blocs, prisonniers {}, il est alors appelé Variable globale.

Comme nous l'avons vu dans l'exemple de la fonction somme(), le fait que quelque chose. Il est décrit dans la deuxième variable – k. Elle dispose déjà d'un particulier “enregistrement” – fonction. En outre, cette variable ne peut pas être utilisée en dehors de la fonction. à savoir. si la fonction Principal() la finition est également la conclusion de la k l'écran, compilateur commence “jurer”. Il juste ne voit tout simplement pas en dehors de la fonction somme(). Consultez:

variable k Il a appelé local, et le portée fonction d'ouverture et de fermeture des accolades définie somme(){…}. Ensuite, ils ne l'ont pas en cours d'exécution, par conséquent, il ne peut pas être utilisé en dehors de cette fonction. Kompiliruem:

c ++, variables locales et globales, la portée des variables, c ++ débutants

cependant, il faut aussi tenir compte de la, que la portée est étendue aux unités intérieures. Par exemple, considérons ce code:

Il manifeste la portée suivante:

  • global – i = 2 la sienne;
  • Local dans la fonction – variable k;
  • rapport local pour la boucle() – deuxième je.

bien que, que pour a son propre champ d'application, lui-même pour fonction membre somme(). Et cela signifie, et tout ce qu'il est, Elle est soumise à la portée locale de la fonction. à savoir. toutes les variables, fonction définie de la même manière et dans le corps même pour, ce qui permet à l'opérateur de travailler k += 1 (il est en k = k + 1 ou k ++).

Plus intéressant est le cas d'une variable je, décrit dans pour. Malgré le nom, identique à la variable globale telle que décrite ci-dessus, c'est une autre variable.

Dès leur cycle travaillé, variable je, décrit dans ce, perd son pouvoir, ou en d'autres termes, – “libéré” des droits. Il est pas une blague – juste que le gestionnaire de mémoire arrive. Lorsqu'une variable est décrite, réserves Manager sous sa mémoire, et quand son champ d'application se termine – Cela libère la mémoire. Gestionnaire de mémoire à des marques, que cet emplacement de mémoire ne sont pas la propriété de personne, et il est possible d'obtenir un enregistrement d'autres données.

Pour fixer un autre primerchik lumière:

Il décrit l'instruction de bloc de portée, limite {}, à savoir. première cout affiche 2, parce que le bloc défini des états, dans lequel il travaille cout. Et dans le même bloc est défini variable locale nommée et, de là il valeur surtout.

c ++, variables locales et globales, la portée des variables, c ++ débutants

Et déjà à l'extérieur {} opérateur cout affiche 0, parce qu'il n'y a pas de même pour lui et, qui équivaut à 2. Son champ d'application est identique à celle de l'autre et, ce qui équivaut 0, et ramassé un bloc imbriqué.

Généralement souvenir – dans la vraie vie, vous ne devriez jamais donner les mêmes noms de variables (sauf, qui est classiquement utilisée pour les compteurs de boucles. par exemple je, j, k. Si vous 10 cycles dans le code et ils investi, puis pour chacun d'eux peut déclarer et définir le compteur avec un nom je. Ceci est normal). Dans d'autres cas,, toujours donner des noms uniques aux variables, si vous ne voulez pas, à vous plus tard “rappelé” programmeurs, qui sera traitée dans votre code.

Nous offrons également à voir un didacticiel vidéo sur la portée. Auteur tutoriel vidéo: Markov Denis

Bulletin de nouvelles leçons sur la programmation:

variables locales et globales. portée.
4 (80%) 1 vote

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *