Hej alle
Jeg har et problem. Jeg ønsker at initialisere et array med nogle
strings, og det er nemt nok. Samtidig er der visse af disse
strings der skal bruges i andre sammenhænge. Rent logisk (og i
Pascal) ville jeg gerne gøre sådan:
const char index[] = "index.htm";
char *filnavne[] =
{index,"skraekeksempler.htm", "sammenskrevet.htm" }
Men det er jo ikke tilladt. Jeg benytter så en lidt anden
konstruktion:
char *filnavne[] =
{index,"skraekeksempler.htm", "sammenskrevet.htm" }
char *index;
void init (void) {
index=filnavn[0];
}
Det ser tilforladeligt ud, for 0 er nemt at huske. Men i det
rigtige program er der flere andre navne end lige index.htm der
skal bruges på samme måde. Og at medlemmer.htm er knyttet sammen
med 21 er ikke specielt indlysende. Hvis jeg retter i mit array,
går der kuk i systemet ('konstanterne' peger på forkerte
filnavne).
Jeg kan også godt forestille mig det omvendte:
const char index[] = "index.htm";
char *filnavne[] =
{NULL,"skraekeksempler.htm", "sammenskrevet.htm" }
void init (void) {
filnavn[0]=index;
}
Men det har samme problem: at jeg skal huske at rette nummeret
ved ændringer.
Er der overhovedet en løsning i C?
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO:
http://fiduso.dk/