filling an array issue

I find it has to be within the function it is used in within the library

Only if you insist on declaring and initializing in one step. You need to either define a pointer, and use malloc to allocate some space (bad idea on a limited memory processor) (be sure to free it in the destructor) OR use a static sized array.

However, I would like to make flipped index an array I can access from the top-level of the library.

Libraries don't have levels. Classes have member fields and methods. If you want to access class member data from outside the class, you should provide methods to do that. The data should almost always be private.