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
|