The Lite-C compiler is not able to use referencing/dereferencing outside of functions. You must simply move the 2 lines:

Code:
cameras[0] = cam0;	// equal to: *(camera+0) = cam0;
cameras[1] = cam1;	// equal to: *(camera+1) = cam1;



into a function. If you don't put it into a function the assignments are ignored
and both pointers cameras[0] and cameras[1] are NULL.


This will crash:

Code:
cameras[0] = cam0; // not working, cameras[0] will be NULL
cameras[1] = cam1; // same as above

function loopPos()
{
   for (i = 0; i < 2; i++) // repeat few times
   {
      cameras[i].x = 333; // as cameras[i] points to 0, it will cause a crash
   }
}




This will work:

Code:
function loopPos()
{
   cameras[0] = cam0;
   cameras[1] = cam1;
   for (i = 0; i < 2; i++) // repeat few times
   {
      cameras[i].x = 333;
   }
}