Ich habe zwei Dateien, main.c und hash.ceine globale Struktur zwischen zwei Dateien Teilen (in C)
In hash.c ich eine leere Hash-Tabelle nur haben die hashtable
und einige Funktionen aufgerufen (nicht die Haupt) und in main.c, habe ich die Funktion main() und die #include "hash.h"
Meine Frage ist, wenn in main.c, nenne ich eine Funktion aus der hash.c wie: fügt hash_add("strawberry", 3)
, die ein Schlüssel mit seinem Element in der Hash-Tabelle der hash.c (hashtable
),
Dann wenn Ich mache extern hash * hashtable
in der Main.c wird meine 3 Erdbeeren in Hashtable sein? Oder wird meine Hashtable leer sein?
(Was ich denke, ist, wenn ich hash_add("strawberry", 3)
nennen, meine 3 Erdbeeren in hashtable sind, solange ich im Rahmen der Funktion bin)
Danke
Wenn Sie 'Hash * hastable;' in hash.c, müssen Sie 'extern Hash schreiben * hashtable; 'in jeder anderen Datei, in der die Variable verwendet werden soll. – mch