Ich habe eine Frage über die Übergabe einer Struktur an eine Funktion ohne Deklaration der Struktur zuerst.Übergeben einer Struktur an eine Funktion wie folgt
Ich habe eine Funktion, die eine Struktur Zeiger wie dies geschieht:
static void DrawArc(struct MATH_POINT *p, other args);
Ich weiß, ich
struct MATH_POINT point = {0,0};
DrawArc(&point, other args);
eine Struktur wie diese passieren kann, aber ich kann es auch tun, wie folgt aus:
DrawArc(&(struct MATH_POINT){0,0}, other args);
Ich mache es auf diese Weise, weil ich auf einer eingebetteten Plattform mit sehr begrenzten Registerraum bin, und meine GUI Spaß ctions erfordern viele Argumente.
Aber meine Sorge ist, dass die Strukturen, die ich in der Argumentliste initialisiert habe, bleiben und RAM verbrauchen. Ist das möglich? Oder wird die Struktur zerstört, sobald die Funktion beendet ist?
Danke!
Diese Frage kann nicht beantwortet werden, ohne den spezifischen Compiler und Prozessor zu kennen, den Sie verwenden. Außerdem, ob Sie mit optimierter Optimierung bauen werden. –
Ich benutze arm-none-eabi und ich habe -O2 Ich benutze STM32F767-144 pin. –