【发布时间】:2015-06-05 21:13:51
【问题描述】:
如何用值初始化结构数组? 所以,我有 rgb 值的结构颜色。
struct color{
GLfloat r;
GLfloat g;
GLfloat b;
}
并尝试使用 1.0f 对其进行初始化。
color* cArray = (color*) malloc(w*h*sizeof(color));
memset(&cArray, 1.0, sizeof color);
但是我在 cArray[0] 上得到分段错误,而不是正确的工作。 我想念什么?
【问题讨论】:
-
memset用于将所有值设置为0或-1。使用循环将数组的所有值设置为0或-1以外的任何值。 -
请注意,
color不能在 C(即 C++)中这样使用。struct有自己的命名空间,所以你必须要么typedef结构体要么在指针的定义中使用struct color。
标签: c arrays opengl memory memset