Salve, mi sapreste spiegare un momento questo codice?:
In effetti i miei probelmi sorgono quando si parla di procedure...allora, vine dichiarato il prototipo di una procedura, che è il seguente:codice:#include <stdio.h> #include <string.h> #include <conio.h> void converge(char *targ, char *src); int main() { char target[80]= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; converge(target, "Prova dell'uso di converge()."); printf("Stringa finale: %s\n", target); getch(); return 0; } void converge(char *targ, char *src) { int i, j; printf("%s\n", targ); for(i=0, j=strlen(src); i<j; i++, j--) { targ[i] = src[i]; targ[j] = src[j]; printf("%s\n", targ); } }
dove converge ha come parametri due variabili puntatori a un tipo caratterecodice:void converge(char *targ, char *src);
Successivamente nel main() viene richiamata la procedura converge(), e nella sua chiamata assistiamo alla presenza di due parametri, cioè target e "Prova dell'suo di converge()." adesso nn capisco una cosa: io ho dichiarato la stringa target[80], poi perchè quando la uso come parametro della procedura, scrivo solo target senza specificarne le dimensioni?
Poi nel corpo della funzione c'è l'istruzione printf("%s\n", targ);
che visualizza il contenuto di target che è una stringa...ma come è possibile? cioè la stringa target è puntata dalla variabile puntatore targ scrivendo in questo modo?
Poi perchè dopo scrive targ[i]=src[i] se nn le abbiamo dichiarate come vettori?

Rispondi quotando

