As for your second question, you can represent a multi-dimensional array in several different ways. e.g. int a[2][3][4][5]; would be a four-dimensional array with 120 elements. Each dimension being of a different size.
You can even have ragged sized dimensions such as an array of strings where each string is potentially a different length. It's all in how you set it up.
If I've again incorrectly guessed what you were actually trying to ask, then perhaps you could explain a little better next time.