したがって、配列は最初の要素へのポインターです。
float color[4]={rColor, gColor, bColor, alpha};
したがって、単純に;color
を指します。&color[0]
次のような構造体があるとします。
struct Colors{
float color[4];
};
今、私はこれを非常にうまく行うことができることを発見しました:
Colors myColor={{*color}};
これを行うこともできます:
Colors myColor={{color[0]}};
私は 1 つの要素だけを指していますが、構造体は 4 を想定しているため、この要素を無視し続けます。
まず、それが問題なく、合法で、問題ないことを確認したいと思います。明らかに、大きな配列を渡す場合、これは構文と入力において非常に便利です。
第二に、これが機能する理由についての推論を検証したいと思います。color
alone はポインタであるため、ポインタが指すメモリ*
、つまり配列を取得する間接演算子です。したがって、本質的には、間接参照でポインタを呼び出すだけで配列全体を取得します。正しい?