What are the differences between an array of char pointers and a 2D array?
You can access elements with the same syntax, but the guarantees about memory layout is much different. The 2d array is contiguous. The array of pointers is not.