Is there any way to do this in a condensed form?
GLfloat coordinates[8]; ... coordinates[0] = 1.0f; coordinates[1] = 0.0f; coordinates[2] = 1.0f; coordinates
Although in your case, just plain initialization will do, there's a trick to wrap the array into a struct (which can be initialized after declaration).
For example:
struct foo { GLfloat arr[10]; }; ... struct foo foo; foo = (struct foo) { .arr = {1.0, ... } };