Differenza tra 'x' e ''x'', nel linguaggioC..

Giusyinthesky
sul manuale del linguaggio C di K.Ritchie a pag 46 si dice :

'x' e ''x'' non sono la stessa cosa. 'x' è un intero, usato per produrre il valore numerico della lettera x nel set di caratteri della macchina;
''x'' invece è un carattere che contiene un carattere (la lettera x) e uno '\0'.


potete spiegarmi per favore cosa vuol dire? non ho capito il concetto e che funzone hanno le due diverse scritture, cosa indicano.
Grazie in anticpo.

ps:Linguaggio C, non C++

Risposte
hamming_burst
Ciao,
la differenza è:

- 'x' è un tipo primitivo char.
- "x" è una stringa.

Un "char", nella rappresentazione interna del Linguaggio C è un intero, questa rappresentazione è denominata codifica ASCII e ha valori da 0-255
La 'x' ha valore 120, v. http://en.wikipedia.org/wiki/ASCII

Una stringa è un array di char, perciò "x" è una concatenazione di "char" con carattere finale "\0" o NULL (sono la stessa cosa), diciamo che una delimitazione.

es:

char p = 'x';

char[] pp = "x" equivalente char[] pp = {'x','\0'};

Il NULL finale è implicito, ogni frase è una stringa, "ciao" è una stringa.

Se hai dubbi, chiedi pure :-)

Giusyinthesky
Credo di aver capito abbastanza.. grazie!!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.