The AR array is typed, so is a constant that has an address in data memory somewhere, and is not on the stack.
If tstringarray is a pointer, then the address of the constant is stored in it, and can be referenced outside.
Not languagewise elegant, but safe.