我有兩個結構定義爲這樣(在color.h
):是否可以在不事先定義它的情況下將結構變量作爲函數參數傳遞?
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
其中的工作原理:
hsv hsvCol = {i/255.0, 1, 1};
rgb col = hsv2rgb(hsvCol);
我希望能夠給剛剛創建變量hsvCol
內不需要創建變量並將其作爲參數傳遞給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});
我的問題是:
我可以做什麼我試圖在所有做的(但顯然以不同的方式)?
如果是1,我怎麼去這樣做呢?
'RGB COL = hsv2rgb((HSV){I /255.0,1,1});' – BLUEPIXY
唉,真是太簡單了!謝謝! –