Hello, World
Alors voilà,
Je suis en train de coder une appli que j'aimerais par la suite publier, sans trop passer pour un Crado-codeur...
Seulement, j'ai une formation d'électronicien, pas de programmeur informatique.
J'ai appris à coder en C en Bts et j'ai approfondi en autodidacte ces 10 dernières années...
Pour mon appli, après avoir produit un 1er code totalement dégueu qui au final buggait,
j'ai lu une partie du bouquin "Coder Proprement", avant de repartir de 0 dans mon appli
en tentant de coller au mieux aux conseils de ce bouquin.
Mais voilà, je me demande comment gérer les variables globales.
Dans la 1è version de mon code, j'avais 9 globales déclarées en extern sur la quasi totalité de mes fichiers...
J'espère ne pas trop me tromper, en pensant que les globales c'est comme tout, c'est pas dégueu en soi, il n'y que des façons dégueues de les gérer.
Sauf que pour l'instant je sais comment BIEN les gérer.
Ce que je voudrais, c'est utiliser une globale, dont la portée se limite au fichier.c de ma libraire uniquement, et pratiquer un peu comme en C++, que le reste de l'appli n'ai que des accesseurs...
Concrètement l'exemple suivant est-il une bonne façon de gérer ma globale ?
main.c
Libriaire.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include "Librairie.h int main(){ InitialisationAppli(); /* . . */ UtiliserChamp(); } void InitialisationAppli(){ InitialisationLibrairie(); }
Librairie.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 struct CONFIG { char *champ; }; typedef struct CONFIG Config; Config Configuration; /* Prototypes... */
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <string.h> #include "Librairie.h void InitialisationLibrairie(){ DefinirChamp("Test"); } void DefinirChamp(char *str){ strcpy(Configuration.champ, str); } void UtiliserChamp(){ printf("%s", Configuration.champ); }![]()
Partager