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ì:
ho provato quindi alla stessa maniera(tranne qualche piccola modifica) anche con un array multidimensionale e questo è il codice:codice:int funzione (char *) { .... } main() { char str[100]; int num=0 num=funzione(str); }
ma non mi funziona : mi dice prima di tutto che char ** è differente da char * (valore che passo alla funzione nel main)...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)); }
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!!