NO.

immagina una matrice char lista[4][10]

hai 4 righe , che sono array

e hai 10 colonne che sono char

------------------

se dichiari char *lista[4]
è come se avessi una matrice dove le righe sono dichiarate , e devi dichiarare il numero di colonne .

for(i=0;i<4;i++)
lista[i]=(char*)malloc(sizeof(char)*10)


ora hai una matrice di 4 array di 10 elementi char



le righe non possono essere zero 0

la spiegazione non è tecnica , e i termini forse non sono corretti , MA CREDO che ti possa chiarire dove stai sbagliando , spero che chi leggerà mi vorrà scusare