Lets say we have : int A [5] [2] [3]; Now, if I do : A[1][0][0] = 4; does that mean :
1.) A [1] and A [1][0] are pointers ?
2.) If A[1] is a pointer, then i
The variable A is 5 * 2 * 3 ints, allocated together as a block. (I.e., 30 ints).
There are no pointers involved in the declaration `int A[5][2][3];' - the only space set aside is to hold the 30 int values.
When you write an expression using A and subscripts, because you have said there are 3 dimensions, you must provide all 3 in order to specify which int value you are accessing or altering. If you use fewer than 3 subscripts, you are only partially specifying what you are accessing; the convention is that such a reference is taken as a request for the address of the relevant part of the overall space.