ive done extensive research and found out that the usual method to initialize a 2D array of chars is
    char *strings[2][50];
But isnt this the same as,
    char strings[2][50]; //not a pointer.
What is the difference between this two lines of code? I know one is pointer and the other is not. However, practically, if you know the size of the array bound ([boundX][boundY]), why would u use a pointer instead? Which code is more practical, and why? Thank you.
EDIT: I am trying to create an array of Strings.
 
     
    