私は2つの構造体は、(color.h
に)なるように定義されています:構造変数を前もって定義することなく関数の引数として渡すことはできますか?
hsv hsvCol = {i/255.0, 1, 1};
rgb col = hsv2rgb(hsvCol);
は、私はちょうど内部変数hsvCol
を作成できるようにしたい:
typedef struct rgb {
uint8_t r, g, b;
} rgb;
typedef struct hsv {
float h, s, v;
} hsv;
hsv rgb2hsv(rgb color);
rgb hsv2rgb(hsv color);
が、私はその後、作品main.c
に次のように持っています変数を作成してパラメータとして渡す必要なく、hsv2rgb
のパラメータ。
私がすることができます
は、私はその:(
rgb col = hsv2rgb({i/255.0, 1, 1}); rgb col = hsv2rgb(hsv {i/255.0, 1, 1}); rgb col = hsv2rgb(hsv hsvCol {i/255.0, 1, 1}) rgb col = hsv2rgb(struct hsv {i/255.0, 1, 1});
私の質問があり、コンパイル(上記の2行の代わりに)以下、悲しげなしのそれぞれを試してみました私はすべてでやろうとし(ただし、明らかに異なる方法で)されたものですか?
1場合は、どのように私はそうやって行くのですか?
'RGB COL = hsv2rgb((HSV){Iのように書き換えることができます/255.0,1,1}); ' – BLUEPIXY
Aw maaan、それはとてもシンプルでした!ありがとう! –