Hallo,
ich schreibe ein C-Programm für einen Mikrocontroller und ich bitte euch
um eure Hilfe bei einer kleinen Frage.
Ich möchte einer Funktion einen int-Wert übergeben, den die Funktion in
ein 200 großes Array schreibt. Wennn ich die Funktion wieder aufrufe,
soll die Funktion den nächsten Wert hinter den ersten Wert schreiben
usw. Wenn das Array voll ist, verarbeitet die Funktion die Daten weiter.
Bisher habe ich das scheinbar wenig elegant so gelöst, dass das array in
der darüberliegenden Funktion angelegt wurden und der Funktion ein
Pointer auf dieses Array übergeben wurde:
1 | void funktion(int Wert, int* Array)
|
2 | {
|
3 | /*Pseudocode:
|
4 | schreibe Wert in nächstes Feld des Arrays;
|
5 | if(Array voll)
|
6 | verarbeite Daten im Array;
|
7 | */
|
8 | }
|
9 |
|
10 |
|
11 | /*darüberliegende Funktion:*/
|
12 | int array[200] = {0};
|
13 | funktion(irgendeinwert, array);
|
Kann ich das auch irgendwie eleganter Lösen, dass ich das Array direkt
in der Funktion anlege? Weil in der darüberliegenden brauche ich das
Array eigentlich nicht.
Danke schonmal für eure Hilfe