problem v C

Hynek Sladky sladky
Středa Březen 17 12:05:03 CET 2004


> Pokud ovsem pouzijes konstrukci
>
> char name[5] = {"Jmeno"};
>
> tak kompilator bud zarve (to zalezi na prekladaci, pripadne na nastaveni
> parametru prekladu) nebo inicializuje pole pouze tolika znaky, kolik se mu
> tam vejde, tedy v tomto pripade name[0] = 'J', name[1] = 'm',..., name[4] =
> 'o' a na terminator stringu uz mu nezbude misto.

Ja bych rekl, ze normalni funkce prekladace je takova:
pokud mam pole znaku inicializovane a vejde se mi tam ukoncovaci '\0', pak ji tam da.
pokud se tam nevejde, nic nehlasi (mozna warning - dle prekladace a jeho nastaveni), protoze to muze byt programatoruv zamer nedat
do pole ukoncovaci '\0'
ale pokud by se tam nevesel i jen jediny znak, tak skonci s chybou.

Hynek Sladky







Další informace o konferenci Hw-list