First of all I apologize if the title is a bit vague, I couldn't phrase my question to fit in the given space.
So given you have an array of floats that you want to cast as a pointer to a struct containing only floats, assuming the array size is not an issue, can this ever backfire on a given architecture (mobile, windows, mac, etc), compilers (VS's compiler, g++, etc) or implementation (constructor, methods, virtuals methods, etc)?
In my case I only have two constructors and I want to make sure when I port my code to other platforms, things don't blow up.
Also, is there something that can tell the compiler if I have the members: float a, float b, float c, that I want them arranged in that order and not to mix them in memory?