It is a void * for historic reasons.
// the poisitions
attribLoc = glGetAttribLocation(prog, "vPosition");
glVertexAttribPointer(attribLoc, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex),
BUFFER_OFFSET(offsetof(Vertex,position)));
glEnableVertexAttribArray(attribLoc);
// the colors
attribLoc = glGetAttribLocation(prog, "vColor");
glVertexAttribPointer(attribLoc, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex)
, BUFFER_OFFSET(offsetof(Vertex, color)));
glEnableVertexAttribArray(attribLoc);
// the point size
attribLoc = glGetAttribLocation(prog, "vSize");
glVertexAttribPointer(attribLoc, 1, GL_FLOAT, GL_FALSE, sizeof(Vertex)
, BUFFER_OFFSET(offsetof(Vertex, size)));
glEnableVertexAttribArray(attribLoc);