(This is not a duplicate of this or this that refer to fixed sizes, the issue is not to understand how pointers are stored, but if the compiler can automate the manual funct
Based on this answer assuming you want an array of char you can do something like
char
std::vector x(1000); char (&ar)[200][5] = *reinterpret_cast(x.data());
Then you can use ar as a normal two-dimensional array, like
ar
char c = ar[2][3];