配列を型定義することは可能ですか?
3 つの float の配列である float へのポインターをすべて受け入れるベクトル関数のセットがあります。float* vec3_t を typedef することはできますが、括弧内の配列と等しく設定するだけではオブジェクトを作成できません。
typedef float* vec3_t;
vec3_t a = {1,1,1}; // Does not work
vec3_t b = (float[]){1,1,1}; // Works
float c[] = {1,1,1}; // Works
void f(vec3_t x);
f({1,1,1}); // Error
f((float[]){1,1,1}; // OK
誰かがなぜこれがこのように機能するのか説明してもらえますか?