I also use 3-dimensional array in my game, reading and writing it directly with pointers.
For writing and reading, I use inline functions (one lined). That way I should be able to modify used methods & possibly add 4th dimension (might need that...) later rather easily...