Introduction au mot-clé statique en C

Le mot-clé statique en C varie différemment dans la mesure où il s'agit d'un mot-clé qui peut être utilisé avec des variables ainsi qu'avec des fonctions. Par conséquent, il est très nécessaire d'obtenir une démarcation sur les deux pour obtenir les caractéristiques réelles ou le comportement du mot-clé spécifiquement en termes de langage C. Son peu difficile à comprendre si complètement pour un débutant, nous allons donc parcourir la syntaxe, le fonctionnement réel de son fonctionnement en C, certaines normes et règles à suivre car il peut être un peu déroutant de savoir quand l'utiliser pour portée de la variable et quand l'utiliser pour la portée du bloc fonctionnel.

Syntaxe

1. Syntaxe du mot-clé statique en C lors de la définition d'une variable:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Syntaxe du mot-clé statique en C lors de la définition d'une fonction:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

Comment fonctionne le mot-clé statique en C?

Fondamentalement, il existe deux façons dont le mot clé statique fonctionne en termes de C.

  • Le mot-clé statique à l'intérieur d'une fonction.
  • Le mot-clé statique en dehors d'une fonction.

1. Mot clé statique dans une fonction

La déclaration de la variable dans une fonction est associée au temps de compilation et à la durée de stockage de la variable dans un appel de fonction. En termes simples, les variables définies comme statiques étendent leur portée pour plusieurs appels de fonction et une fois déclarées, elles ne peuvent pas perdre leur portée jusqu'à la fin de l'exécution du programme. Il commence à définir sa portée au moment de la compilation lui-même.

Exemple

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

Production:

2. Mot-clé statique en dehors d'une fonction

Une fois que le mot clé statique est déclaré en dehors d'une fonction, il limite la portée de la variable et devient visible uniquement pour le fichier actuel, ce qui signifie que la fonction aura sa portée limitée à son fichier source lui-même. L'accès à cette variable ou fonction statique obtient une contrainte d'un autre fichier source.

Bien qu'il soit considéré comme bon de déclarer une fonction comme statique, ce qui facilite l'encapsulation des données dans une portée spécifique. Les personnes issues de l'arrière-plan des POO ou de l'arrière-plan Java peuvent facilement le relier au fonctionnement des mots-clés privé et public.

Exemple

Pour définir des variables dans une fonction externe, c'est-à-dire au niveau global, nous devons définir au moins un mot-clé statique.

Définissez une variable statique dans un fichier source et la même variable dans la deuxième variable dans un autre fichier source.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

Production:

Spécification de la taille minimale d'un paramètre de tableau

Il y a une utilisation très essentielle que nous ignorons parfois, examinons-la.

Nous pouvons également indiquer au compilateur le paramètre de stockage pour la déclaration minimale d'éléments dans un pointeur de tableau vers une fonction. Mais ce cas est suivi très rarement (suivi jusqu'au compilateur C99).

Exemple

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

Fondamentalement, cela informera que l'argument ne sera pas nul.

Règles et règlements pour le mot clé statique en C

1. En termes de variable statique

  • Une variable statique reste toujours active lorsqu'un programme est en cours d'exécution contrairement aux mots clés auto et réservés.
  • Le stockage et l'allocation de mémoire se produisent dans le segment de données, pas dans le segment de pile.
  • Par défaut, si la variable n'est déclarée avec aucune valeur par défaut, elle sera définie explicitement par le compilateur comme 0.
  • La déclaration des variables statiques se fait principalement à l'aide de littéraux constants.
  • Il est principalement considéré que nous ne devons pas définir une variable statique à l'intérieur d'une fonction, cela rend la totalité du module fonctionnel un peu complexe.

2. En termes de fonction statique

  • La déclaration de la variable est fondamentalement considérée comme globale par défaut, donc l'utilisation d'un mot-clé statique avec une fonction la restreint dans la portée en limitant la portée dans le même fichier source.
  • Une bonne caractéristique de rendre la fonction statique est la réutilisabilité, c'est-à-dire que nous pouvons appeler la même fonction plusieurs fois chaque fois que cela est nécessaire pour l'exécution.

Les avantages

  • Considérer une variable comme statique est avantageux dans le sens où cela aide à optimiser l'ensemble du flux de code.
  • La réutilisation et la redéfinition aident le compilateur à appeler n'importe quelle variable en interne sans faire dominer aucun autre mot-clé comme extern.
  • Un autre avantage est d'augmenter la lisibilité de manière à ce que l'avenir reçoive une confirmation que le fichier est déclaré comme statique et n'est accessible par aucun autre fichier ou fichier source.
  • Cela empêche également beaucoup de déclarer le fichier c, c'est-à-dire de le redéclarer comme une autre variable externe.

Conclusion

  • Le terme «statique» a sa propre tendance, qu'il soit considéré comme sensé ou sans sens. Les différents langages de programmation ont des significations différentes uniquement liées au mot-clé statique. Langage orienté objet, il se comporte très bien avec une propriété d'encapsulation.
  • En termes de C, C # et C ++, il a une nature différente. Certains considèrent que l'utilisation de l'électricité statique est la meilleure en raison des avantages qu'elle offre comme l'optimisation, la réutilisabilité, la limitation de la portée. Dont la plupart est l'accusé de réception du fichier lisible final.
  • Plus tard, certains utilisateurs naïfs pourront facilement savoir si deux fichiers source ne correspondent pas en comptant le contenu interne des fonctions statiques et de la variable statique comme cela se fera par l'erreur de compilation.
  • Mais en termes de C, cela n'est pas considéré comme un moyen sûr et sécurisé car la communication interne entre les threads devient dangereuse et difficile car elle devient finalement une variable globale. Par conséquent, il est parfois considéré de manière non conventionnelle en termes de C d'utiliser un mot-clé statique en C.

Articles recommandés

Ceci est un guide pour les mots clés statiques en C. Ici, nous discutons de la façon dont les mots clés statiques fonctionnent en C avec les règles et règlements. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Variables en C
  2. Échange en C
  3. Fonctions mathématiques en C
  4. Numéro inversé en C
  5. Échange en PHP
  6. Mots-clés PHP
  7. 5 principaux attributs d'événements HTML avec des exemples