Chiarimenti su char

Ciao a tutti,

eccomi con un'altra domanda da principiante :stuck_out_tongue:

mi chiarite per favore le idee sulle variabili char??

Ho fatto qualche prova per visualizzare un testo sul display. Se scrivo:

  1. char prova = 'prova'; ---->il display visualizza "o"
  2. char prova = "prova"; ---->sintassi errata
  3. char *prova = "prova"; ---->Corretto, il display visualizza prova.

Ho capito il primo caso ma per gli altri due non riesco a capirne la differenza!!!!

Ciao

char rappresenta un singolo carattere, se vi assegni una costante tra apici singoli, il compilatore cerca di "interpretare" quello che metti tra apici come un carattere; se invece provi ad assegnare una costante tra doppi apici allora ti da errore.

char* rappresenta un puntatore ad un carattere che può essere il primo di una stringa...
il compilatore fa questo:

definisce un indirizzo di memoria e lo assegna alla variabile char*
a partire da tale indirizzo di memoria memorizza la tua stringa, un carattere alla volta
inserisce alla fine un carattere speciale '\0' che è il terminatore, in modo che le funzioni che lavorano su stringa sappiano quando questa è effettivamente finita.

bye

Beh, direi che non potevi spiegare meglio!!!!
Grazie!!!!

acron:
Beh, direi che non potevi spiegare meglio!!!!

Mi permetto di aggiungere questo link che mi ha visto nel ruolo di scolaro "ignorante"
Sicuramente troverai olteriori spunti per meglio comprendere
http://arduino.cc/forum/index.php/topic,90127.0.html

Ciao