Ciao a tutti!!...

avrei un piccolo problema in C... anche perchè è la prima volta che mi imbatto in una roba simile....

devo fare un funzione che data un array multidimensionale di stringhe mi trova il numero di stringhe contenute...

finche l'array era monodimensionale ( cioè un vettore) bastava che facevo così:

codice:
int funzione (char *) {

....

}

main() {

char str[100];
int num=0

num=funzione(str);

}
ho provato quindi alla stessa maniera(tranne qualche piccola modifica) anche con un array multidimensionale e questo è il codice:

codice:
char str[2][10]={"parola1","parola2"};

int getlen(char **arstr) {

	int i=0;	

	while(1) {

		if(arstr[i][0]==NULL) break;
		else i++;

	}

	return i;

}


main() {

	printf("\n%d",getlen(str));

}
ma non mi funziona : mi dice prima di tutto che char ** è differente da char * (valore che passo alla funzione nel main)...

di una cosa non sono sicuro .... di questo:

char str[10][5][9]
char ***p = str

oppure

char str[7][8]
char **p= str

cioè se il numero di asterischi dipende dal numero di dimensioni di cui è composta l'array a cui il puntatore deve puntare...

perche se questo è sbagliato di conseguenza è sbagliato anche quello che ho fatto nella funzione... ma come lo posso correggere?..

qualcuno mi puo aiutare?...

ciao ciao e grazie mille a tutti!!