As long as you access the 2D array elements in their proper storage order you can use either a pointer with an offset or a subscripted array.
The thing to remember is to walk along the 2D array correctly knowing that the rightmost subscript varies fastest.