Tengo una gran confusión para entender la diferencia entre `char * var [3]`, `char var [3] [15]`

Como en el título.

Estoy confundido entre ellos.

char var[3][15]= {"Hello_world!", "good", "bad"}; // as known this is for an 2D array.  
char *var[3]= {"Hello_world!", "good", "bad"}; // and this I think also 2D array, but how.

¿Cual es la diferencia entre ellos?
¿Cuáles son los casos para usar eso o aquello?

Lo siento pero tengo gran confusión entre ellos.

Respuestas a la pregunta(4)

Su respuesta a la pregunta