Das ist ein Array von 3 Pointern:

VECTOR* move_vec[3]= {0,0,0};

Das ist ein Array von 3 vars:

var move_vec[3]={0,0,0};

Das ist ein initialisierter VECTOR Pointer:

VECTOR* move_vec= { x=10; y=20; z=30; }

Das sind drei voellig unterschiedliche Objekte, die Sie nicht durcheinanderbringen sollten. Ausnahme: Alle Engine-Funktionen akzeptieren auch ein Array von 3 vars anstelle eines VECTOR Pointers.