我正在开发一个C程序,我对指针和数组有疑问。
我有以下数组指针:
GLuint *vboIds;
以下函数原型:
void glGenBuffers(GLsizei n, GLuint *buffers);
以下陈述是正确的:
glGenBuffers(1, vboIds);
但我想将glGenBuffers
vboIds的第二个索引作为函数的第二个参数传递给glGenBuffers(1, &&vboIds[1]);
。我已经说过了:
{{1}}
这是对的吗?
感谢。
答案 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]);