Salve a tutti!
Nella dichiarazione dei prototipi delle funzioni, nel C, come devo fare per dichiarare una funzione che come argomento ha un array, i cui elementi sono a loro volta array di stringhe?
Grazie mille!!!
Salve a tutti!
Nella dichiarazione dei prototipi delle funzioni, nel C, come devo fare per dichiarare una funzione che come argomento ha un array, i cui elementi sono a loro volta array di stringhe?
Grazie mille!!!
La funzione accetta quindi il valore di un puntatore ad un array di puntatori ad array ?
codice:void func( char **strArray) { }
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Complimenti per il titolo significativo.
Leggi il regolamento, per conoscere come vanno scritti i titoli nelle discussioni.
Questo lo sistemo io.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
OK, scusa, non lo sapevo...
Grazie per avere sistemato...
Quindi, per dirla in altri termini, una matrice bidimensionale di stringhe (puntatori a char), giusto?Originariamente inviato da mgofficial
Nella dichiarazione dei prototipi delle funzioni, nel C, come devo fare per dichiarare una funzione che come argomento ha un array, i cui elementi sono a loro volta array di stringhe?
Qui però bisogna stabilire se si vuole gestire un array bidimensionale come inteso dal C/C++ (ovvero elementi contigui in memoria) o un array bidimensionale basato su puntatori. Perché sono due strutturazioni diverse degli elementi.
Con array "classico":
Con puntatori:codice:void func (char *mat[2][2]) { .... } .... char *matrice[2][2] = { {"a","b"}, {"c","d"} }; func (matrice);
codice:void func (char ***mat) { .... } .... char *riga1[2] = { "a", "b" }; char *riga2[2] = { "c", "d" }; char **matrice[2]; matrice[0] = riga1; matrice[1] = riga2; func (matrice);