You can alternatively use an array of handles to dynamically created strings, eg:
var MyArrayOfStr[10];
..
//To place a string
MyArrayOfStr[0] = handle(str_create("A new string here"));
..
//To get a string
String* StrPointer;
StrPointer = ptr_for_handle(MyArrayOfStr[0]);
Also remember to use ptr_remove when they are no longer needed
The code is not tested, but it should look something like that
Thanks,
Adoado