Allora, ci sono un paio di cose su cui vorrei dei chiarimenti ma non riesco a trovare niente in giro per internet.
Prima cosa, quando io ho una funzione del tipo:
void (char s[]);
è equivalente a scrivere:
void (char *s);
?
E se sì, se una funzione ha come argomento un vettore, questo è sempre un puntatore al vettore che gli è stato passato oppure può essere una variabile automatica?
poi...
Ho trovato in un testo una cosa del genere (faccio il programma più breve possibile):
void inc(int &x) {x++;}
int main() {
int i=0;
inc(i);
cout<<i;
}
ho provato questo programma e il suo output è 1. In pratica ho capito come funziona, ma teoricamente qual'è il significato di scrivere int &x come arogomento della funzione?
un'ultimissima cosa![]()
perché quando faccio un programma mi considera il carattere '\0' uguale a " " (spazio). Funziona così o è il mio compilatore/set di caratteri che non funziona? (kdevelop c++/ubuntu feisty).
grazie in anticipo per l'aiuto e scusate l'ignoranza![]()