Du kannst dir ein zweites Array mit den gewünschten Daten als const
Array erstellen und dann, wenn du es brauchst, die Daten in einem Rutsch
rüberkopieren (Funktion memcpy). Natürlich sollten dazu die Arrays
gleich groß sein.
Steven schrieb:> 42 schrieb:>> uint8_t mein_array[4] = {1, 2, 3, 4};>> Das geht nicht.
Das ist eine Definition. Und da geht das.
Das geht nicht als Zuweisung. (Im Standard-C)
Also die Zeile vor das main, wenn du eine globale Variable möchtest.
war das nicht so dass am ende jedes arrays eine NULL steht?
das heißt wie stefan es geschrieben hat
>uint8_t mein_array[5];
musst dein array ein feld größer sein als du daten speichern willst
DirkB schrieb:> Steven schrieb:>>> 42 schrieb:>>>> uint8_t mein_array[4] = {1, 2, 3, 4};>> Das geht nicht.> Das ist eine Definition. Und da geht das.>
so war es auch gemeint, weil der Eingangs-Code-Fetzen nicht anders
wollte/meinte...
DirkB schrieb:> Die Erklärung war auch für Steven.>
meine auch, um meinen Vorschlag "zu verteidigen"..., da er ja meinte es
geht nicht.
DirkB schrieb:> Die Farben machen das irgendwie nicht deutlich>
gebe ich dir recht, ich habe bedenkenlos zu viel gequotet...;-)
Hallo Steven,
um mal die richtige Lösung für dich herauszuarbeiten:
* wenn dein Array immer die gleichen Werte im Programmverlauf haben
soll, dann machst du es so, wie ich es vorgeschlagen habe -->
Wertzuweisung gleich bei der Definition des Arrays
* werden die Werte erst im Programmverlauf ermittelt, dann gibt es keine
pauschale Lösung. Die Lösung ergibt sich dann aus der Art und Weise der
Ermittlung der Array-Werte...
42 schrieb:> * werden die Werte erst im Programmverlauf ermittelt, dann gibt es keine> pauschale Lösung. Die Lösung ergibt sich dann aus der Art und Weise der> Ermittlung der Array-Werte...
Das ist der Fall.
42 schrieb:> doch ;-)
Ja, ok...ist ein Einzeiler, stimmt ;-)
Ich danke euch!
Wenn die Werte berechnet werden, dann geht es eh nur mit der Zuweisung
eines Elements (wie bei dem Einzeiler).
Wenn du aber verschiedene Vorgaben hast, kannst du auch verschiedene
Arrays (oder ein 2D-Array) nehmen und einen Zeiger darauf setzen.