// 3.4: Stringhe
#include <iostream>
using namespace std;
int main() {
char *a = "stringa di prova";
char *s1 = "stringa";
char s2[] = { 's', 't', 'r', 'i', 'n', 'g', 'a', '\0' };
cout << "s1 e s2: " << s1 << ", " << s2 << endl;
// scorrimento con indice di una stringa
int i;
for(i = 0; i < strlen(a); ++i) {
// per accedere ad un carattere nella posizione i, si puo'
// usare o la notazione ad array (quindi a[i])
// oppure utilizzare il puntatore *a, utilizzando l'artimetica+
// dei puntatori per posizionarci a i caratteri dopo l'inizio
//cout << "Carattere " << i << " di a: " << a[i] << endl;
cout << "Carattere " << i << " di a: " << *(a + i) << endl;
}
// scorrimento di una stringa con puntatore
char *p; // inizializza un puntatore p che punta agli stessi
// dati di a
for(p = a; *p; ++p)
cout << "Carattere di a: " << *p << endl;
// adesso *p punta all'ultimo elemento di a (il 17esimo, lo '\0')
// se avessimo utilizzato a in questo ciclo, avremmo perso la
// posizione iniziale della stringa!
}