problem v C

Oldrich Kepka hw
Středa Březen 17 12:05:03 CET 2004


Muj prispevek sice nema takovou vahu, hehe, ale zkus misto [16] psat [17].
Mas tam totiz vzdy 16 znaku v uvozovkach a ta nula je 17-ty znak, ktery se
diky deklaraci male velikosti pole urizne.

Vnitrni pole nemuze byt nikdy deklarovano s otevrenou delkou, protoze
vsechna tato pole museji mit stejnou delku, takze konstrukce
static char menu1[3][]={"blabla    ","blablabla","huiiii"};

neni mozna, jedine co jde udelat je opak
static char menu1[][17]={"blabla    ","blablabla","huiiii"};

-Olda

> > NEJSOU deklaraci stringu. Jde o deklarace dvourozmernych poli znaku.
Pokud
> > te plete konstrukce "xxxxxxxx", tak to je zpusob, jak kompilatoru
sdelit,
> > jake znaky ma pouzit pro inicializaci pole, a ne prikaz k pouziti NULL
> > terminated stringu.
>
> Diky, tento posledni prispevek, ma pro me asi nejvetsi vahu. Jsem v C
> zacatecnik, a navic samouk (je az divny, kolik mi toho funguje). Mam dve
> knizky, ktere tak navzajem konzultuju.
> Lepsi tedy bude: static string menu1[3]={"blabla    ","blablabla","huiiii
> "}; ?
> To asi taky neni ono. Poradte prosim jak na to. Ta NULL na konci by asi
> pomohla, ale neni neco programatorsky cistsiho (inicalizovat tak, aby
> kompilator vedel, ze jde o retezec a vrazil tam ty nuly sam)?
> Diky
> Jakub






Další informace o konferenci Hw-list