Ich möchte einen 2-dimensionalen array extern verwenden.
Ich hatte vor, das so zu machen:
Code:
...
extern char word_dsp_buf[4][14];
...
void
glsdreh_init()
{
int i;
...
for (i=0; i<4; i++)
word_dsp_buf[i][0] = '\0';
...
}
...
void
center_puzzle(const char *s, int line, int n)
{
...
strncpy(&word_dsp_buf[line][0], s, n);
...
}
Aber da bekomm ich immer eine Fehlermeldung:
...undefined reference to 'word_dsp_buf'...
für glsdreh_init und center_puzzle.
Wenn ich dagegen den array lokal in der funktion definiere geht's.
Code:
void
center_puzzle(const char *s, int line, int n)
{
int i;
char word_dsp_buf[4][14];
for (i=0; i<4; i++)
word_dsp_buf[i][0] = '\0';
strncpy(&word_dsp_buf[line][0], s, n);
...
}
Aber was in den array kopiert wird, muss die ganze Laufzeit über gespeichert
bleiben und ich brauch den array auch für eine andere Datei.
Wie mach ich das?
Lesezeichen