Hi,
ich habe eine C-Funktion, welche ein struct als Parameter erwartet. Ist
es möglich, beim Funktionsaufruf die Daten direkt anzugeben, anstatt
erst ein entsprechendes struct zu erzeugen und dieses zu übergeben?
Also anstatt:
1 | typedef struct {
|
2 | unsigned char ucC1;
|
3 | unsigned char ucC2;
|
4 | unsigned char ucC3;
|
5 | unsigned char ucC4;
|
6 | } _stStruct;
|
7 |
|
8 | void func1(_stStruct);
|
9 |
|
10 | void main(void) {
|
11 | _stStruct vStruct;
|
12 |
|
13 | vStruct.ucC1 = 1;
|
14 | vStruct.ucC1 = 2;
|
15 | vStruct.ucC1 = 3;
|
16 | vStruct.ucC1 = 4;
|
17 |
|
18 | func1(vStruct);
|
19 | }
|
das hier:
1 | void main(void) {
|
2 | func1(1,2,3,4);
|
3 | }
|
Ist das irgendwie möglich? Ich programmiere einen Microcontroller und
möchte mir den Speicherplatz für die Variable "vStruct" sparen, weil die
nur einmal verwendet wird.
Eine mögliche Lösung, die mir eingefallen ist, wäre das struct in den
Code-Speicher zu verlegen, aber vielleicht geht es ja irgendwie so, wie
ich oben beschrieben habe.
Danke
Ralf