我有这个问题。在运行某些函数之前,我需要存储一个浮点数组数组。我怎么能做到这一点,因为我不能初始化一个没有非常数的数组?我应该创建一个函数,用 malloc 创建该数组,然后返回并分配给一个指针吗?
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'