C: jak napsat

Tomáš Mazouch mazouch na ica.cz
Pondělí Březen 24 13:56:08 CET 2014


Dne 24.3.2014 13:45, Miroslav Draxal napsal(a):
>
> Dobrý den,
>
> Pic, HiTech
>
> Nějak mi nedochází jak zapsat následující. Snažím si napsat 
> univerzální knihovnu komunikace pro svá zařízení.
>
> Do buferu mi přijde zpráva. Součástí je 3 bytová informace, o jaký 
> povel se jedná. Jak zapsat jako konstantu, která lze procházet, 
> porovnávat s 3bytovým povelem v buferu, v případě schody skočit do 
> příslušné funkce. Samozřejmě bude funkce, která bude procházet celou 
>  struct_Command
>
> Nějak takhle, ale nejde mi to správně zapsat.
>
> const struct struct_Command
>
> {
>
>     char* CommandCHar[] = {"XXX"}, {"YYY"}, {"ZZZ"};
>
>     void (*pCommand)()[] = {&xxx}, {&yyy},  {&zzz};
>
> };
>
> Pokud by byl pro dané zařízení potřebný 4 povel, pak by se doplnila 
> pouze funkce, a {"AAA"} + {&aaa}
>
> Nebo to děláte jinak?
>
> Díky Míra
>
>

1) to je deklarace a ne definice, takze ty pokusy o inicializaci jsou 
ponekud "vedle"
2) spis nez struktura dvou poli by to melo byt pole struktur

const struct struct_Command{
   char *CommandChar;
   void (*pCommand)();
} CommandTable[]={{"XXX",&xxx},{"YYY",&yyy},{"ZZZ",&zzz},NULL,NULL};

   TomM



Další informace o konferenci Hw-list