Antwort auf: Tag11 automatisch
› Foren › User Projekte › Tag11 automatisch › Antwort auf: Tag11 automatisch
		Dezember 11, 2015 um 20:46 Uhr
		
		#812
		
		
		
	
Mitglied
		
		
	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 tmp1als static (static char tmp1[100];). Damit wirdtmp1global angelegt und nicht mehr überschrieben, ist aber weiterhin nur in dieser Funktion sichtbar. Der Inhalt bleibt zwischen den Funktionsaufrufen erhalten.
- definiere tmp1global (vor allen Funktionen). tmp1 ist dann für alle Funktionen sichtbar, ausser fürloop(), denn da gibt es nochmal ein lokalestmp1.
- 
		Diese Antwort wurde geändert vor 9 Jahren, 10 Monaten von Raabinator. 

 English
 English