Nach der Definition
1 | static char __flash *statetext;
|
enthält "statetext" erstmal den Wert 0 (weil "static"-Variablen i.d.R.
alle mit 0 initialisiert werden).
Solange Du diesem Zeiger nun keinen Wert (z.B. die Adresse eines Textes)
zuweist, macht es also auch keinen Sinn bzw. ist sogar gefährlich, dem
Inhalt des Zeigers zu vertrauen.
Aus diesem Grund ist es sinnvoll, vor der Benutzung des Zeigers erstmal
zu prüfen, ob jemand schon mal einen Wert hingeschrieben hat, d.h. ob
der Zeiger nicht mehr den Wert 0 enthält.
Wichtig:
Falls Du der Funktion "LCD_puts_f" einen Zeiger mit Inhalt 0 übergibt,
ist es gut möglich, daß Dein Programm abstürzt.