variables globales - C - Programmation
Marsh Posté le 27-02-2018 à 18:47:48
bonux7 a écrit : Apparemment les variables globales sont à éviter autant que possible. |
Il faut effectiver faire gaffe, on a vite fait de créer du code illisible et qui peut contenir des bugs difficiles à trouver.
Citation : Alors pourquoi l'existence de telles variables si l'on doit et peut s'en passer? Y a-t'il des situations ou elles sont quand meme utiles? |
Il y a bien sûr des situations, p.ex. si on a un espace mémoire auquel pleines de fonctions doivent accéder, passer toujours un pointer en paramètre peut vite devenir lourd. Ou si on travaille avec des fonctions callback pour lesquelles on ne choisit pas les arguments ou encore pour les interruptions.
Marsh Posté le 27-02-2018 à 19:21:32
Merci de ta réponse. Je n'ai pas vu encore les callback et la gestion des interruptions (je suis en L1), mais déjà celà m'aide à anticiper sur la suite.
Marsh Posté le 27-02-2018 à 19:26:00
Les interruptions c'est pour des microcontrôleurs et autres systèmes embarqués, sur un PC tu vas pas y toucher à moins d'écrire un système d'exploitation. Les callback par contre c'est assez courant.
Marsh Posté le 31-03-2018 à 15:53:43
un compromis est de limiter la visibilité de la globale au fichier (plus précisément l'unité de compilation) ou elle est déclarée.
C'est faisable grâce au qualificateur "static".
fichier_avec_globale_locale.c
Code :
|
fichier_qui_veux_manipuler_la_globale.c
Code :
|
Marsh Posté le 27-02-2018 à 18:19:24
Bonjour,
Apparemment les variables globales sont à éviter autant que possible. Alors pourquoi l'existence de telles variables si l'on doit et peut s'en passer? Y a-t'il des situations ou elles sont quand meme utiles?