小编Nic*_*pot的帖子

C 初始化数组数组

我有这个问题。在运行某些函数之前,我需要存储一组浮点数组。我怎样才能做到这一点,因为我无法初始化没有非常量的数组?我应该创建一个函数来使用 malloc 创建该数组然后返回并分配给一个指针吗?

typedef struct
{
    float RGBA[4];
} graphColors;
Run Code Online (Sandbox Code Playgroud)

我需要有一组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;
}
Run Code Online (Sandbox Code Playgroud)

然后在我的课上:

graphColors *gc;
gc = initializeGraphColors();
Run Code Online (Sandbox Code Playgroud)

收到此错误:

error C2040: …
Run Code Online (Sandbox Code Playgroud)

c arrays initialization

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

c ×1

initialization ×1