c - 初始化数据结构

标签 c arrays

我有这个数据结构:

typedef struct
{
    float XYZW[4];
    float RGBA[4];
} Vertex;

    Vertex axisVertices[] =
{   
    { { -0.885f, -0.885f, 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f, 1.0f } }, 
    { { -0.885f,  0.885f, 0.0f, 1.0f }, { 0.0f, 0.0f, 1.0f, 1.0f } }, 
    { { 0.885f, -0.885f,  0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }
};

我习惯了 java,所以我认为这种事情用 C 是不可能的。我该怎么做:

float temp1 = -0.04f;
float temp2 = -0.08f;
float temp3[] = { -0.885f,  0.885f, 0.0f, 1.0f };

Vertex axisVertices3[] =
{   
    { { temp1 , temp2 , 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f, 1.0f } }, 
    { temp3, { 0.0f, 0.0f, 1.0f, 1.0f } }, 
    { { 0.885f, -0.885f,  0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }
};

最佳答案

这个有效:

Vertex axisVertices3[] =
{   
    { { temp1 , temp2 , 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f, 1.0f } }, 
    { {temp3[0],temp3[1],temp3[2],temp3[3]}, { 0.0f, 0.0f, 1.0f, 1.0f } }, 
    { { 0.885f, -0.885f,  0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }
};

这不是您想要实现的确切目标,但已经足够了。

关于c - 初始化数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16123668/

相关文章:

c - 只在一个 child 上 fork 的 Unix fork 树

c - 交换 16 位值的前 8 位和后 8 位

javascript - 如何在 EmberJS 中基于数组和值绑定(bind) attr 类事件?

arrays - 在 MATLAB 中一次为元胞数组分配不同的值

python - 计算一维 numpy 数组中的间隙数

c++ - C++ 程序中的 C 头文件

c - 为什么 C clock() 返回 0

c++ - Windows 函数 "NetUserChangePassword"不再在 Windows 10 下工作(在 Windows 7 下工作)

javascript - 将数组数组转换为组合在一起的对象数组

ios - UITableView indexPath 弄乱了我的数组