// your point struct might look something like this
struct drawpoint
{
float position[3];
unsigned char color[4];
};
// using a vector here; just change it to whatever container type you prefer
std::vector<drawpoint> myWonderfulPoints;
// call this every frame to draw stuff!
void DrawMeSomePoints (void)
{
glEnableClientState (GL_VERTEX_ARRAY);
glEnableClientState (GL_COLOR_ARRAY);
glVertexPointer (3, GL_FLOAT, sizeof (drawpoint), myWonderfulPoints[0].position);
glColorPointer (4, GL_UNSIGNED_BYTE, sizeof (drawpoint), myWonderfulPoints[0].color);
glDrawArrays (GL_POINTS, 0, myWonderfulPoints.size ());
glDisableClientState (GL_VERTEX_ARRAY);
glDisableClientState (GL_COLOR_ARRAY);
}