Que signifie statique en langage C ?

angryTom
Libérer: 2020-02-06 13:47:01
original
82968 Les gens l'ont consulté

Que signifie statique en langage C ?

Que signifie statique en langage C

En langage C, statique est utilisé pour décrire des variables statiques.

1. Si elle est définie en dehors de la fonction, son effet est similaire à celui d'une variable globale, c'est-à-dire que la variable spécifiée par static peut être utilisée dans le fichier programme C actuel.

2. Si elle est définie à l'intérieur d'une fonction, alors cette variable n'est initialisée qu'une seule fois. Même si la fonction est appelée à nouveau, la variable statique ne sera pas réinitialisée, donc la valeur de cette variable sera toujours. enregistré Ensuite, lorsque nous appelons à nouveau la fonction, les résultats enregistrés lors du dernier appel de fonction sont toujours enregistrés.

Apprentissage recommandé : Tutoriel vidéo en langage C

En langage C, la fonction du mot clé statique est la suivante :

1 . Lors de la modification de variables, les variables locales statiques modifiées par static ne sont exécutées qu'une seule fois et le cycle de vie des variables locales est prolongé jusqu'à la fin de l'exécution du programme.

2. Lorsque static modifie une variable globale, cette variable globale n'est accessible que dans ce fichier et n'est pas accessible dans d'autres fichiers, même s'il s'agit d'une déclaration externe externe.

3. Si static modifie une fonction, cette fonction ne peut être appelée que dans ce fichier et ne peut pas être appelée par d'autres fichiers. Les variables locales modifiées par Static sont stockées dans la zone des variables statiques de la zone de données globales.

Exemple :

static int a;
int b;
void func(void)
{
    static int c;
    int d;
}
Copier après la connexion

Dans le programme ci-dessus, a et b sont tous deux des variables globales. La différence entre les deux est que b peut être utilisé par d'autres fichiers, et a ne peut être utilisé que dans ce fichier. C'est l'effet de la statique sur les variables globales.
La différence entre c et d est que d est une variable automatique. Une fois la fonction func exécutée, d sera automatiquement libérée. Mais c ne sera pas publié la prochaine fois que la fonction func sera appelée, la valeur de c conservera la dernière valeur et continuera à être utilisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal