For instance, is it completely illegal to use a pointer to an Objective C object and treat it as an array?
If it's not an array, then yes.
Are you forced to use NSArray and NSMutableArray for data structures?
No. You can use C arrays, and you should be able to use C++ STL vectors (although I don't use C++, so I don't know specifics of how).
But there's no reason not to use NS{,Mutable}Array
. Fear not the Cocoa frameworks, for they are your friend.
And don't forget the other collection types, such as NS{,Mutable}Set
and NS{,Mutable}Dictionary
.