Frage zu C-Funktion mit struct als Parameter - kann man das struct direkt angeben?

Gast #950888
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren