Salve a tutti

Vorrei usare array annidati in c++.
In pratica vorrei inserire come elementi di un array delle parole composte da più di un carattere. Visto che le parole le assegno a degli array (es: parola[5]="ciao") dovrei inserire degli array dentro un'altro, creando array annidati.

Dopo una vasta ricerca in internet e libri sull'argomento, non sono riuscito a risolvere il problema.
Ho provato a farlo elemento per elemento

(n è un numero qualsiasi)

codice:
#include <stdio.h>
#include <string.h>

int main(){

 char lista[n] ;

 lista[0]="ciao" ;
 lista[1]="cane" ;
 ...
 lista[n]="casa" ;

}
o inserendo delle variabili

codice:
#include <stdio.h>
#include <string.h>

int main(){

 char lista[n], prima_parola[5], seconda_parola[5], ..., n_parola[5] ;

 prima_parola[5]="ciao" ;
 seconda_parola[5]="cane" ;
 ...
 n_parola[5]="casa" ;

 lista[0]=prima_parola  ;
 lista[1]=seconda_parola ;
 ...
 lista[n]=n_parola ;

}
o prendendo le parole come input

codice:
#include <stdio.h>
#include <string.h>

int main(){

 char lista[n] ;

 printf("Scrivi la prima parola") ;
 scanf("%s", &lista[0]) ;

 printf("Scrivi la seconda parola") ;
 scanf("%s", &lista[1]) ;
 ...

 printf("Scrivi la n parola") ;
 scanf("%s", &lista[n]) ;

}
ma niente da fare.

Qualcuno ha la soluzione al problema?