Una cadena de texto <char*/char[]> es un arreglo unidimensional por lo que hacer un arreglo de cadenas de texto es un arreglo bidimensional. Tienes que imaginarlo como una matriz donde cada cadena se escribe en una fila y cada caracter en una columna.
Dicho esto para leer palabras de un fichero tienes la función <fgets()> en C. Esta función tiene la siguiente forma:
char *fgets(char *variable
, int max_size
, FILE
*fichero
)
El valor de retorno no importa mucho ya que retorna lo mismo que guarda en <variable>.
Donde <variable> es el arreglo en el que vas a guardar lo que lees, <max_size> la cantidad máxima de caracteres que va a leer la función y <fichero> pues el fichero de donde lo va a leer. La función lee hasta que encuentra un salto de línea o hasta llegar al máximo indicado (lo que antes ocurra). Con el segundo parámetro te aseguras de que no tienes problemas de memoria. Si usas un arreglo estático, usa el tamaño del arreglo como segundo parámetro de la función <fgets()>.