potrebujem zistit velkost pola definovaneho staticky.
Kód: Vybrať všetko
const unsigned char Arial5x8[] = {
0x02, 0x00, 0x80, 0x00, 0x00, 0x00, // Code for char .
0x03, 0xC0, 0x3C, 0x03, 0x00, 0x00, // Code for char /
0x05, 0x7E, 0x81, 0x81, 0x81, 0x7E, // Code for char 0
0x03, 0x04, 0x02, 0xFF, 0x00, 0x00, // Code for char 1
0x05, 0x82, 0xC1, 0xA1, 0x91, 0x8E, // Code for char 2
0x05, 0x42, 0x81, 0x89, 0x89, 0x76, // Code for char 3
0x05, 0x30, 0x2C, 0x22, 0xFF, 0x20, // Code for char 4
0x05, 0x4C, 0x8B, 0x89, 0x89, 0x71, // Code for char 5
0x05, 0x7E, 0x89, 0x89, 0x89, 0x72, // Code for char 6
0x05, 0x01, 0xE1, 0x19, 0x07, 0x01, // Code for char 7
0x05, 0x76, 0x89, 0x89, 0x89, 0x76, // Code for char 8
0x05, 0x4E, 0x91, 0x91, 0x91, 0x7E, // Code for char 9
0x01, 0x84, 0x00, 0x00, 0x00, 0x00 // Code for char :
};
Kód: Vybrať všetko
#define N_ELEMENTS(array) (sizeof(array)/sizeof(array[0]))
Kód: Vybrať všetko
const unsigned char *znaky=Arial5x8;
Kód: Vybrať všetko
pocet_znakov = ( sizeof(*znaky) / sizeof(znaky[0]) ) ;
Samozrejme sizeof(znaky) dava velkost pointera, co je OK, ale nie to co potrebujem.
Pripada mi to, ze sizeof(*znaky) berie ako sizeof( znaky[0] ), cize sizeof( *(znaky+0) ).
Aj Herout v knihe toto popisuje, ze by to malo fungovat.
Ma niekto napad? Dakujem.