获取数组元素的地址

时间:2010-11-29 08:02:45

标签: c arrays pointers

我正在开发一个C程序,我对指针和数组有疑问。

我有以下数组指针:

GLuint *vboIds;

以下函数原型:

void glGenBuffers(GLsizei n, GLuint *buffers);

以下陈述是正确的:

glGenBuffers(1, vboIds);

但我想将glGenBuffers vboIds的第二个索引作为函数的第二个参数传递给glGenBuffers(1, &&vboIds[1]); 。我已经说过了:

{{1}}

这是对的吗?

感谢。

5 个答案:

答案 0 :(得分:5)

glGenBuffers(1, &(vboIds[1]));

或亚美尔所说的,

glGenBuffers(1, vboIds + 1);

答案 1 :(得分:3)

是的,如果你删除一个和号就行了。

你也可以写glGenBuffers(1, vboIds + 1);

答案 2 :(得分:1)

glGenBuffers(1, vboIds + 1);

答案 3 :(得分:0)

不,双&是不正确的,不会编译。如果您确实想使用该语法,那就是:

glGenBuffers(1, &vboIds[1]);

这完全等同于Armen的答案,这是最简单的方法。

答案 4 :(得分:0)

您只需要一个运营商地址(&)

glGenBuffers(1, &vboIds[1]);