J'ai deux fichiers, main.c et hash.cPartager une structure globale entre deux fichiers (en C)
En hash.c, je n'ai une table de hachage vide qui est appelé hashtable
et certaines fonctions (pas le principal) et main.c, j'ai la fonction principale() et le #include "hash.h"
Ma question est, si main.c, j'appelle une fonction de la hash.c comme: hash_add("strawberry", 3)
, qui ajoute une clé avec son élément dans la table de hachage du hash.c (qui est appelé hashtable
),
Ensuite, si Je fais extern hash * hashtable
dans le main.c mes 3 fraises seront-elles en hashtable? Ou ma hashtable sera-t-elle vide?
(Ce que je pense est quand je l'appelle hash_add("strawberry", 3)
, mes 3 fraises sont Hashtable aussi longtemps que je suis dans le cadre de la fonction)
Merci
Si vous avez 'hachage * hastable,' en hash.c, vous devez écrire 'hachage extern * hashtable; 'dans tous les autres fichiers que vous voulez utiliser la variable. – mch