Primero no abras nuevos hilos para preguntar sobre el mismo tema por favor.
Eso son 20 punteros a cadena, el primer elemento del
array (s[0] o *s) apunta a la primera que tiene asignado la cadena "hola".
char *s[20]= {"hola", "chau" };
printf("%s = %s\r\n%s = %s", *s
, s
[0], *(s
+1), s
[1]);
¿Como imprimir un
array de caracteres? No tiene ningun misterio, en realidad es exactamente igual a como lo estabas haciendo.
char data[20] = "hola";