Gast
#2943900
Hallo zusammen, ich versuche gerade einen eigentlich recht einfachen Codeschnipsel fertig zu bekommen und habe dabei gemerkt, dass mir offensichtlich an einer essenziellen Stelle C-Kenntnis fehlt. Ziel: Es gibt ein Array namens "Window" aus den aktuellsten drei elementen eines ADWandlers. Eine funktion aktualisiert diese mit neuen werten. Eine funktion bildet den Rang2 Median und gibt ihn aus. Nun möchte ich, dass die Update-Funktion das im speicher feststehende window ändert, das Medianfilter beim Sortieren aber gerade nicht das ursprüngliche Window verändert, damit in jeder stufe die aktuellsten drei werte genommen werden. Mein Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
Ich weiß nun nicht wie ich das o.g. Problem löse. Bei einer normalen Variablen, die ich mit einer Funktion im Speicher bearbeiten möchte übergebe ich ja die Adresse der Variablen und arbeite mit Pointern. Wenn die funktion nur die werte nutzen soll, übergebe ich die variable einfach so. Das array selbst ist ja nun bereits ein pointer - wie übergebe ich es richtig wenn ich a) die funktion nur lokal und b) die funktion global damit arbeiten lassen will?