Variables statiques en c

Variables statiques en c
C est un langage très flexible lorsqu'il s'agit d'allouer différentes variables dans une fonction ou en dehors de la fonction. Une variable statique est l'une de ces variables qui sont déclarées «statiquement» dans un programme. La valeur de départ des variables statiques est nulle. Les variables statiques continuent de fonctionner pendant que le programme s'exécute.

Syntaxe des variables statiques

Voici la syntaxe de base du langage C pour déclarer une «variable statique».

Lors de la définition de la variable statique, nous pouvons également définir son état initial. Voici la méthode pour initialiser une valeur variable statique dans le langage de programmation appelé C.

Partout où sa portée est présente, une valeur variable constante peut être réinitialisée. La réinitialisation de la valeur d'une variable statique est démontrée dans le programme ci-dessous. Dans ce programme, nous incluons d'abord le fichier d'en-tête «STdio» avec l'extension «.h ”qui est utilisé pour afficher l'entrée et la sortie.

#inclure
int main()

statique int x = 20;
x ++;
printf ("La valeur de x est:% d \ n", x);
x = 0;
printf ("après la réinitialisation de la valeur x est:% d \ n", x);

Il s'agit d'un exemple de base et simple de variables statiques où nous avons déclaré une variable «x» de type de données «int» avec le mot clé statique, ce qui signifie que la variable «x» tiendra sa valeur via un appel de fonction. Nous avons initialisé la valeur «20» à la variable «x», puis l'opération incrémentielle a été appliquée à la variable pour incrémenter la valeur de «x» de 1. Puis imprimer la valeur de "x". Comme vous le voyez, nous avons utilisé «\ n» dans l'instruction printf (), ce qui signifie briser une ligne ou imprimer la sortie dans la nouvelle ligne. Après cela, nous avons réinitialisé la valeur à la même variable «x», qui est «0». Ensuite, nous imprimons la chaîne qui a été écrite en doubles guillemets.

Voici la sortie de l'illustration ci-dessus où la valeur de «X» est «21» après la mise en œuvre de l'opération d'incrément, mais nous avons une autre valeur du «X» qui est «0» parce que nous avons réinitialisé la variable «X» dans la même fonction.

Utilisation majeure pour les variables statiques

Dans cette section, nous discuterons des variables statiques et des variables globales. Toute variable déclarée utilisée en dehors de la fonction principale () est globale. Une variable statique est déclarée «statiquement» déclarée, ce qui indique que son cycle de vie ou son extension est la durée de l'ensemble de l'exécution du programme. Puisqu'ils ne sont pas liés à une fonction spécifique, toute méthode accessible peut être utilisée pour accéder et modifier les variables globales.

Utilisation du mot-clé statique dans un appel de fonction: Si nous voulons conserver la même valeur pour une variable sur chaque appel, nous pouvons le spécifier comme une variable statique dans la fonction. Chaque fois que le mot-clé statique a été utilisé à l'intérieur d'une méthode, la réinitialisation d'un paramètre sur les appels de fonction consécutives est empêchée (par exemple, lorsqu'une variable statique est créée et initialisée dans une méthode). Considérez une fonction qui a une variable statique appelée «x» avec une valeur de début de 20. L'opérateur d'incrément est utilisé par la fonction pour augmenter la valeur de «x» avec chaque appel de méthode. Le processus est décrit ci-dessous.

#inclure
fonction void ()

statique int x = 20;
x ++;
printf ("% d \ n", x);

int main()

fonction();
fonction();
fonction();
fonction();
fonction();

La variable «x» commencera par une valeur de 20 lorsque cette méthode sera utilisée pour la première fois, et elle augmentera à une valeur de 21 après cela. La méthode imprimera donc 21, 22, 23, 24 et 25 parce que nous avons appelé la fonction 5 fois dans la fonction principale (). Maintenant, la valeur «x» variable ne sera pas réinitialisée à 20 si nous exécutons cette méthode à plusieurs reprises. Avec l'incrémentation, cela devrait gagner de la valeur de sa durée précédente, c'est-à-dire 21, et devenir 22, et ainsi de suite. Par conséquent, la méthode imprimera 22 cette fois et ainsi de suite jusqu'au dernier appel de fonction.

Ceci est la sortie de l'illustration ci-dessus:

Déclarant une variable globale utilisant une variable statique: Les paramètres dynamiques peuvent également être déclarés mondiaux. Cela implique qu'un seul paramètre présente les avantages d'une variable constante et globale. Une portée statique et une variable globale diffère les unes des autres. Un paramètre constant n'a qu'une durée de blocage, tandis qu'une variable globale est accessible à partir de n'importe quel point du programme. Le programme qui démontre la façon dont il est défini est comme suit.

#inclure
statique int y = 10;
void function ()
statique int x = 20;
x ++;
printf ("La variable statique est:% d", x);

int main()
y ++;
printf ("La variable globale est:% d \ n", y);
fonction();

Dans cet exemple, nous avons inclus les informations nécessaires sur une entrée-sortie via le nom du fichier d'en-tête «STdio.H, "où".h ”est l'extension du fichier d'en-tête. Ensuite, nous déclarons une variable statique en dehors de la fonction principale () qui est le «y» de l'intégralité de type de données. La valeur «10» est initialisée à la variable statique «y». Ensuite, nous avons une méthode nommée «function ()» qui sera également déclarée globalement en dehors de la fonction principale (). Cette fonction () a une variable statique «x» de type de données «int» avec la valeur de «20», puis nous avons implémenté l'opération d'incrément à la variable «x». Après cela, nous avons une instruction printf () pour imprimer la chaîne telle qu'elle est écrite dans la fonction printf ().

Nous devons invoquer cette fonction après avoir déclaré globalement la variable et la fonction (). Nous avons atteint la section principale () du programme C pour invoquer cette méthode. Dans la fonction principale (), nous avons à nouveau implémenté une opération d'incrément mais maintenant sur la variable «y» et imprimez la chaîne de la variable globale. Ensuite, nous avons appelé la fonction nommée «function ()» qui a été déclarée globalement.

Voici la sortie de l'illustration variable globale. Premièrement, le compilateur exécutera la variable globale «y» car elle a été déclarée d'abord dans le programme; Après la mise en œuvre de l'opération d'incrément, la variable «y» deviendra «11», puis la fonction est appelée, qui est «fonction ()» et la variable statique est imprimée.

Conclusion

Nous avons appris à réinitialiser la variable statique dans la même fonction à travers un exemple simple. Ensuite, nous avons également discuté de la façon de déclarer la variable à l'échelle mondiale et comment écrire la fonction en dehors du corps principal (), puis comment rappeler la fonction à travers différents exemples. J'espère que ce tutoriel vous sera bénéfique lorsque vous apprenez des variables statiques dans le langage de programmation C.