structを最初に宣言せずに構造体を関数に渡すことについて質問があります。このような関数に構造体を渡す
static void DrawArc(struct MATH_POINT *p, other args);
私はこの
struct MATH_POINT point = {0,0};
DrawArc(&point, other args);
のような構造体を渡すことができます知っている。しかし、私はまた、このようにそれを行うことができます:
は、私はこのような構造体のポインタをとる関数を持っている
DrawArc(&(struct MATH_POINT){0,0}, other args);
私は非常に限定されたレジスタ空間を持つ組み込みプラットフォーム上で、私のGUIの楽しみ多くの引数が必要です。
しかし、私が心配しているのは、引数リストで初期化した構造体が、RAMを使いこなしてしまうことです。これは可能ですか?または、関数が終了するとすぐに構造体が破棄されますか?
ありがとうございます!
この質問は、使用している特定のコンパイラおよびプロセッサを知らなくても回答できません。また、最適化を有効にしてビルドするかどうかも関係ありません。 –
私はarm-none-eabiを使用しています。私は-O2を持っています。私はSTM32F767-144ピンを使用しています。 –