Frank schrieb:
>
1 | > void funktion(int32_t* tmpwert){
|
2 | > (int32_t)*(tmpwert)++; //für tmpwert[0]
|
3 | > (int32_t)*(tmpwert+1)++; //für tmpwert[1] oder +4?
|
4 | > (int32_t)*(tmpwert+2)++; //für tmpwert[2] oder +8?
|
5 | > }
|
6 | >
|
7 | >
|
8 | > //Aufruf mit
|
9 | >
|
10 | > int32_t wert[3]={0,0,0};
|
11 | >
|
12 | > //...
|
13 | >
|
14 | > funktion(&wert);
|
15 | >
|
Und warum so kompliziert?
tmpwert ist doch schon ein POinter auf eine 32-Bit Einheit. Wozu da noch
lange rumcasten?
Schreibs einfach so wie vorgeschlagen
1 | void funktion(int32_t* tmpwert){
|
2 | tmpwert[0]++;
|
3 | tmpwert[1]++;
|
4 | tmpwert[2]++;
|
5 | }
|
und guts ists?
AUf der einen Seite wird immer geschrieen, dass C so kompliziert wäre.
Dann gibt es mal eine einfache Schreibweise und keiner will sie
benutzen.
> Ich kann nciht direkt drauf zugreifen, weil ich je nach Fall auf
> unterschiedliche arrays zugreifen möchte...
Und?
Was hat das damit zu tun.
Du übergibst ja die Adresse des Arrays an die Funktion. Passt doch!
Du brauchst ganz dringend ein C-Buch und solltest so ungefähr die erste
Hälfte durcharbeiten, ehe du dich an reale Programme wagst. Das hat doch
keinen Sinn, wenn du von deinem 'Werkzeug' 60% nicht verstehst wie das
funktioniert.