| Well, the array of units is probably a pointer to unit objects. So it will only take up the memory of what its pointing too. Like in C++, a class can have something like
char * y;
This is a char pointer that is currently Null. You can use Dynamic Memory Allocation to populate it with whatever you wanted. Like to put the word LOL in it, you would need to allocate 4 elements (1 byte/element up to 3, including the terminating byte).
Units might be classes in that case, so there would be a pointer of unit classes inside the program when you do this. So, I guess it would be fine, I will try it out and see if there is any changes.
Man this talk about arrays has really gone technical. |