Problem mit mehreren Dateien...
-
Hi,
Irgendwie kapier ich das gerade uberhaupt nicht... Ich habe folgende Headerdatei (list.h):
#ifndef _LIST_ #define _LIST_ struct ListElement { int value; struct ListElement* next; }; struct ListElement* head = NULL; #endif
und dazu dann z.B. die Datei insert.c
#include <stdlib.h> #include "list.h" void insert(int value) { struct ListElement* newElement = (struct ListElement*)malloc(sizeof(struct ListElement)); newElement->value = value; if (head != NULL) newElement->next = head; head = newElement; }
Beim komplilieren (gcc), sagt er mir immer, dass er "head" nicht finden kann, obwohl ich das doch inkludiere (ist alles im selben Verzeichnis). Hier der Compiler-Output:
insert.c: In function 'insert': insert.c:14: error: 'head' undeclared (first use in this function) insert.c:14: error: (Each undeclared identifier is reported only once insert.c:14: error: for each function it appears in.)
Was soll das ? Irgendwie steh ich da voll auf dem Schlauch... Mit "extern" muss ich bei Headern ja nix machen...