Jens wrote:
> Hi,
> ich habe folgendes Problem:
> Ich wollte ein Array in einer Headerdatei deklarieren
>
1 | > char a []={'a','b','c'};
|
2 | >
|
Damit hast Du es aber nicht nur deklariert sondern auch definiert ,
und definieren darfst bzw. musst Du es in einem Projekt genau ein
einziges Mal , während deklarieren beliebig oft geht. Damit der
Compiler Definition und Deklaration einer Variable auseinanderhalten
kann, muss bei der Deklaration das Schlüsselwort extern verwendet
werden.
> doch beim Kompilieren kommt die Meldung "test.elf" nicht gefunden.
Das deutet auf den entsprechenden Linker-Fehler hin, der dazu führt,
dass kein Output erzeugt wird.
Allgemein: Eine Definition einer Variable erzeugt die Variable und
reserviert Speicherplatz für sie. Eine Deklaration hingegen sagt
lediglich dem Compiler "Da ist irgendwo anders eine Variable mit dem
Namen und dem Typ definiert, tu so, als könntest Du sie sehen und
überlass dem Linker den Rest".