Hmm maybe my understanding of dynamic memory isn't as good as I thought, in class thats how we were always taught to create a structure and store elements into it.

That is the code im using to declare the structure and set it's initial values for three rows/positions, it works and my pong game is working at the moment.

Do you mean

Code:
    Position* pos = (Position*)malloc(3*sizeof(Position));
?