我有這個問題。我需要有一個浮點數組的數組來存儲,然後我運行一些函數。我怎麼能做到這一點,因爲我不能初始化一個非常數的數組?我應該做一個函數,將與malloc創建該數組,然後返回並分配給一個指針?C初始化數組陣列
typedef struct
{
float RGBA[4];
} graphColors;
我需要有一個grapColors數組。我很抱歉缺乏知識,我是一名Java程序員,現在需要與C合作。
編輯:
graphColors *initializeGraphColors(){
graphColors *gp;
int i;
float HI = 1.0f;
float LO = 0.0f;
float temp[] = {1.0f, 1.0f, 1.0f, 0.0f};
gp = (graphColors *) malloc(nrOfLines * sizeof(graphColors));
for(i = 0;i < nrOfLines; i++){
gp[i].RGBA[0] = LO + (float)rand()/((float)RAND_MAX/(HI-LO));
gp[i].RGBA[1] = LO + (float)rand()/((float)RAND_MAX/(HI-LO));
gp[i].RGBA[2] = LO + (float)rand()/((float)RAND_MAX/(HI-LO));
gp[i].RGBA[3] = 0.0f;
}
return gp;
}
在我的課
然後:
graphColors *gc;
gc = initializeGraphColors();
收到此錯誤:
error C2040: 'gc' : 'graphColors *' differs in levels of indirection from 'graphColors'
你不需要投將R在C程序中'malloc'的特性值。 – 2013-04-26 15:07:49