PDA

Visualizza la versione completa : [C] Passare un Array di Stringhe...


nightfall
14-02-2004, 17:38
Come faccio a passare ad una funzione un Array di Strighe ?



int funzione (unsigned char *buff[]);
int funzione2 (unsigned char **buff);

void funzione3 (void) {
char array [3][11] = {"Ciao", "a", "Tutti"}
funzione (array);
funzione2 (array);
}


Io Ho Provato cosi' ma mi da' un errore...
Parametri incompatibili o cose del genere...

mageta
14-02-2004, 17:57
non puoi, devi usare i puntatori, gli array son giÓ dei puntatori a zone di memoria, te quindi devi passare solo l'indirizzo di memoria iniziale alla funzione e poi usare quella variabile normalmente.

se ho detto vaccate perdono o_O

nightfall
14-02-2004, 18:00
int funzione2 (unsigned char &buff);

funzione2 (array);


Cosi ???

infinitejustice
14-02-2004, 19:27
Originariamente inviato da nightfall
Come faccio a passare ad una funzione un Array di Strighe ?


Un array di stringhe Ŕ un puntatore a puntatori a char

char **string = (char **)malloc(n*sizeof(char *));
string[0] = "ciao";
string[1] = "dehehehiho";
...
string[n-1] = "yo man";

La funzione che riceve ha come parametro un char **
e gliela passi cosi funzione(string);

Loading