C: Array komplett mit Daten füllen

Gast #2641552
Lesenswert?

Hallo!

Habe eine Frage zu Arrays in C:

Kann ich ein Array komplett mit Daten füllen in einer Anweisung?

Also quasi so:
1
uint8_t mein_array[4];
2

3
...
4

5
void main( void )
6
{
7
  ...
8
  mein_array = {1, 2, 3, 4};
9
}

Das geht so auf jeden Fall nicht. Muss ich jedes Element einzeln 
reinschreiben? Initialisieren kann ich es ja auch so.
Gast #2641623
Lesenswert?

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...
Gast #2641647
Lesenswert?

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.
1
uint8_t mein_array2D[][4] = {{1, 2, 3, 4},
2
                             {5, 6, 8, 7}, 
3
                             {9, 10, 12, 0}};
4
uint8_t *mein_array;
5
...
6

7
void main( void )
8
{  
9
  ...
10
  mein_array =  mein_array2D[0];
11
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren