I stumbled into this little question yesterday, but don't know enough about internal array mechanics to get a correct answer.
I've been writing a 3d mesh loader, and storing the vertices, normals etc. in their own arrays. I was basically trying to avoid having one long array of Vertex objects which could eat up memory very quickly and instead limit the number of objects to about 8ish arrays.
But i've been using float vertices[numVertices][3]; (storing x,y,z) which i'm not sure how its allocated. If i remember correctly, it's stored as an array of arrays, not one big array - so i'll actually end up using more objects

Is this correct? If so then i'm wondering if switching to vertices[3][numVertices]; would actually give me the constant number of objects regardless of the number of vertices..