język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Po pierwsze chciałbym zwrócić uwagę, że ustalając wartość MAX_TAB_STR nie uwzględniłeś znaku terminującego ('\0'), który jest automatycznie dołączany przez kompilator. MAX_TAB_STR powinno być w Twoim przypadku równe 18 (chyba, że ta spacja na końcu "AUTO FULL POMIAR " to pomyłka).
Po drugie, definiując w ten sposób tablicę uzyskasz taki efekt, że kiedy dodasz bardzo krótki ciąg znaków, i tak zajmie on 18 bajtów.
Moja propozycja jest następująca:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W ten sposób uzyskasz tablicę
tab_menu umieszczoną we FLASH zawierającą wskaźniki do ciągów znaków we FLASH.
Przykładowe użycie tej tablicy:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie musisz obliczać, jaką wartość przypisać do MAX_TAB_STR i dodatkowo każdy ciąg znaków zajmuje tylko tyle miejsca we FLASH ile jest konieczne. Wadą jest to, że tracisz dodatkowe 2 bajty (potrzebne na wskaźnik) na każdy dodany ciąg znaków.