Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

C - Règles de portée

Une portée dans toute programmation est une région du programme où une variable définie peut avoir son existence et au-delà de cette variable, elle n'est pas accessible. Il y a trois endroits où les variables peuvent être déclarées en langage de programmation C −

Comprenons ce qui est local et mondial variables et formelles paramètres.

Variables locales

Les variables déclarées dans une fonction ou un bloc sont appelées variables locales. Ils ne peuvent être utilisés que par des instructions qui se trouvent à l'intérieur de cette fonction ou de ce bloc de code. Les variables locales ne sont pas connues des fonctions en dehors des leurs. L'exemple suivant montre comment les variables locales sont utilisées. Ici, toutes les variables a, b et c sont locales à la fonction main().

Démo en direct
#include <stdio.h>
 
int main () {

  /* local variable declaration */
  int a, b;
  int c;
 
  /* actual initialization */
  a = 10;
  b = 20;
  c = a + b;
 
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
 
  return 0;
}

Variables globales

Les variables globales sont définies en dehors d'une fonction, généralement au-dessus du programme. Les variables globales conservent leurs valeurs pendant toute la durée de vie de votre programme et elles sont accessibles dans toutes les fonctions définies pour le programme.

Une variable globale est accessible par n'importe quelle fonction. Autrement dit, une variable globale est disponible pour être utilisée dans tout votre programme après sa déclaration. Le programme suivant montre comment les variables globales sont utilisées dans un programme.

Démo en direct
#include <stdio.h>
 
/* global variable declaration */
int g;
 
int main () {

  /* local variable declaration */
  int a, b;
 
  /* actual initialization */
  a = 10;
  b = 20;
  g = a + b;
 
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
 
  return 0;
}

Un programme peut avoir le même nom pour les variables locales et globales, mais la valeur de la variable locale à l'intérieur d'une fonction aura la préférence. Voici un exemple −

Démo en direct
#include <stdio.h>
 
/* global variable declaration */
int g = 20;
 
int main () {

  /* local variable declaration */
  int g = 10;
 
  printf ("value of g = %d\n",  g);
 
  return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −

value of g = 10

Paramètres formels

Les paramètres formels sont traités comme des variables locales dans une fonction et ils ont priorité sur les variables globales. Voici un exemple −

Démo en direct
#include <stdio.h>
 
/* global variable declaration */
int a = 20;
 
int main () {

  /* local variable declaration in main function */
  int a = 10;
  int b = 20;
  int c = 0;

  printf ("value of a in main() = %d\n",  a);
  c = sum( a, b);
  printf ("value of c in main() = %d\n",  c);

  return 0;
}

/* function to add two integers */
int sum(int a, int b) {

   printf ("value of a in sum() = %d\n",  a);
   printf ("value of b in sum() = %d\n",  b);

   return a + b;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −

value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30

Initialisation des variables locales et globales

Lorsqu'une variable locale est définie, elle n'est pas initialisée par le système, vous devez l'initialiser vous-même. Les variables globales sont initialisées automatiquement par le système lorsque vous les définissez comme suit −

Type de données Valeur initiale par défaut
entier 0
caractère '\0'
flottant 0
doubler 0
pointeur NULL

C'est une bonne pratique de programmation d'initialiser correctement les variables, sinon votre programme peut produire des résultats inattendus, car les variables non initialisées prendront une valeur de déchets déjà disponible à leur emplacement mémoire.


Langue C

  1. Règles de circuit de la série
  2. Règles de circuit parallèle
  3. Règles pour les produits dérivés
  4. Règles pour les dérivés
  5. Variables C# et types de données (primitifs)
  6. Portée des variables C#
  7. Variables, littéraux et constantes C++
  8. C Variables, constantes et littéraux
  9. Classe de stockage C