variables statiques sont une partie utile de C. Ils vous donnent la flexibilité dans la prise de fonctions qui retournent des données plus complexes , mais ils peuvent être difficiles à comprendre et à utiliser efficacement . Instructions
Déclarer un de Variable statique
1
Sachez que les variables statiques sont toujours déclarées à l'intérieur d'une fonction C , mais contrairement à d'autres variables , leurs valeurs continuent d'exister et sont conservés , même après la fonction se termine .
2
déclarer une variable statique en utilisant la même syntaxe que vous le feriez pour déclarer une variable locale normale, mais précéder la déclaration avec le mot statique , comme ceci:
static int somme = 0;
3 Attendez initialisation se produise seulement la première fois que vous appelez la fonction. Les fois suivantes , la valeur précédente sera toujours là . Si vous omettez l'initialisation , il sera automatiquement initialisée à 0 .
4
utiliser la variable dans la fonction comme vous le feriez pour tout autre .
5
Rappelez-vous que , comme toute autre variable locale , une variable statique ne peut pas être renvoyé à l'extérieur de la fonction . Toutefois , si vous passez un pointeur vers elle , le pointeur peut être déréférencé succès , puisque la variable existe toujours.
Savoir quand utiliser des variables statiques
6
utilisation une variable statique pour permettre à votre fonction d'avoir sa propre mémoire qui porte sur d'un appel à l'autre. Par exemple, une fonction qui reçoit et analyse la prochaine ligne d'un fichier peut avoir besoin de garder une trace de l'intérieur où il est dans le fichier .
7
utiliser une variable statique comme un moyen de fournir une pièce de la mémoire pour stocker un résultat . Par exemple, une fonction permettant de concaténer des chaînes pourrait utiliser une variable statique dans lequel stocker le résultat de la concaténation et de retourner un pointeur vers elle . La mémoire de la variable statique est constamment disponible , mais sera automatiquement libérée quand le programme se termine , comme n'importe quelle autre variable locale.
8
utiliser des variables statiques pour une course accumulation totale ou similaire. Considérons cet exemple:
int running_total (int num) {static int somme = 0; somme + = num ; somme de retour; } Chaque fois que vous appelez cette fonction , il maintient et retourne un total cumulé de tous les numéros passés en elle. Photos