Nabend,
ich habe ein Array, bestehend aus 20.000 Messwerten, die ich einer
Funktion übergeben möchte. Da sich die Funktion in einer anderen
Übersetzungseinheit befindet, würde ich gern einen Pointer übergen, da
ich das Array nicht gern global hätte. Die Funktion soll mir 6 Werte
zurückgeben, auch in ein Array.
Könnte das so funktionieren? Habe weder Buch noch sonst was zur Hand.
1 | //main.c
|
2 |
|
3 | struct Daten_s{
|
4 | uint_t Messwerte[50000];
|
5 | uint_t Rueckgabe[6]
|
6 | };
|
7 |
|
8 | Daten_s Daten;
|
9 |
|
10 | int main (void)
|
11 | {
|
12 | ...
|
13 | Daten.Rueckgabe = foo (&Daten.Messwerte);
|
14 | ...
|
15 | }
|
16 |
|
17 | // Auswertung.c
|
18 |
|
19 | uint16_t *p_Rueck foo ( uint16_t *pDaten )
|
20 | {
|
21 | // *pDaten verarbeiten;
|
22 | ...
|
23 |
|
24 | // Rückgabewerte
|
25 | *p_Rueck->Rueckgabe[0] = 5
|
26 | *p_Rueck->Rueckgabe[1] = 10
|
27 | ...
|
28 | *p_Rueck->Rueckgabe[5] = 30;
|
29 |
|
30 | }
|
Danke schonmal
Ingo