Reply To: Tag11 automatisch
› Forums › (Deutsch) User Projekte › Tag11 automatisch › Reply To: Tag11 automatisch
December 11, 2015 at 20:46
#812
Member
Hallo Klaus.
Aus deiner Funktion espConnectionIP
gibst du einen Zeiger auf ein char-Array zurück, das nur in dieser Funktion gültig ist.
Dieses Array wird beim Aufruf der Funktion auf dem Stack angelegt. Wird die Funktion verlassen, wird dieser Speicher wieder für die Benutzung freigegeben. D.h. die Daten werden durch Daten der nächsten Funktion überschrieben. Das kann funktionieren, ist aber sehr unwahrscheinlich und unsicher.
Da gibt es zwei Möglichkeiten:
- deklariere
tmp1
als static (static char tmp1[100];
). Damit wirdtmp1
global angelegt und nicht mehr überschrieben, ist aber weiterhin nur in dieser Funktion sichtbar. Der Inhalt bleibt zwischen den Funktionsaufrufen erhalten. - definiere
tmp1
global (vor allen Funktionen). tmp1 ist dann für alle Funktionen sichtbar, ausser fürloop()
, denn da gibt es nochmal ein lokalestmp1
.
-
This reply was modified 8 years, 9 months ago by
Raabinator.