Ich speichere einen Wert im Zeiger storeName
, aber wenn ich später im Programm mit einem Rückruf versuchen, storeName
ist leer. Ich glaube, es ist bz name
in parent
Funktion ist lokal. Ändern parent
Funktion ist nicht in meiner Kontrolle. Was ist der beste Weg, um Wert in storeName
in setName
Funktion zu speichern, so storeName
kann später verwendet werden.Speichern eines Zeigerwerts für die spätere Verwendung
void parent()
{
uint8_t name[] = "James";
setName(name);
}
static uint8_t* storeName;
void setName(uint8_t* name)
{
storeName = name;
}
... an einem anderen Punkt im Code
//*storeName is empty
(Hinweis: über Code eine vereinfachte Version ist nur das Problem bei der Hand zu erklären)
storeName ist kein Zeiger. "James" ist keine 8-Bit-Ganzzahl. Dieser Code ist sehr merkwürdig. –
Entschuldigung, es war ein Tippfehler. jetzt behoben – vow
Das gleiche gilt für 'name' in' parent' - dem Typ fehlt ein '*'. –