Ok thanks for the responses but I got this simpler solution to work:
//MUST BE IN GLOBAL SCOPE for var_for_name or engine_getvar!!!
var nArray[10];
STRING* gpString= "Foo";
function someFunction()
{
STRING* pString2;
var* pArray = var_for_name("nArray");
var* pString = var_for_name("gpString");//set pString to global gpString
pArray[0]=handle(pString);
pString2=ptr_for_handle(pArray[0]);//now pString2 is the same as pString
}
//P.S. pointer addition DOES work but appears not support the syntax of *(pMyPointer + 5) so I use array notation instead.
So why ever use engine_getvar?