A "normal" newbie question

If lighting is to be enabled, you must calculate normals for the surfaces. But normals are assigned to vertices - how do I assign normals to surfaces?

Should I just make sure the “average normal” from the vertices is the same as the surface normal? (all vertices in a cube will then have a normal in the same direction as one of the diagonals of the cube)

(I know what normals are and how to calculate them.)

the current normal will be applyed to whatever vertices follow it.

eg
normal1
vertex1
vertex2
vertex3
vertex4
vertex5
all 5 vertices above use the same normal. use this to give the appearence of a flat shape for rounded shapes u usually want one normal pervertice ie
normal1
vertex1
normal2
vertex2
normal3
vertex3
normal4
vertex4

BTW with vertex arrays u must have one normal per vertex. ie u cant have normals for a face. if u want that u will have to repeat some normals eg
normal1
vertex1
normal1
vertex2
normal1
vertex3
normal1
vertex4