Arrays and pointers are _not_ the same. The bare name of the 2d array _decays_ into a pointer to array(s) of 3 ints each: int (*)[3]. This cannot be simply converted to int **. It is something...