6
Eventuali duplicati:
Why are C character literals ints instead of chars?dimensioni di tipo char in C
gente,
ho cercato di stampare le dimensioni del carattere in C. Con questo codice, Ho ottenuto il risultato come
int, 4
char, 1
char?, 4
Perché l'ultimo non è uguale al secondo? Grazie.
#include <stdio.h>
main()
{
int a = 2;
char b = '2';
printf("int, %d\n",sizeof(a));
printf("char, %d\n",sizeof(b));
printf("char?, %d\n",sizeof('a'));
}
http://stackoverflow.com/questions/433895/why-are-c-character-literals-ints-instead -Di-caratteri. Alla luce di questo, sto votando per chiudere (anche se non è una cattiva domanda) –
Discussione su questo argomento è stata sollevata prima: http://stackoverflow.com/questions/433895/why-are-c-character-literals -ints-instead-of-chars –
Si noti che 'sizeof (char)' è 1, per definizione --- 'sizeof()' restituisce valori in unità di carattere. Che non sono uguali ai byte! AFAICT non è possibile ottenere la dimensione di una struttura in _bytes_ senza conoscere la piattaforma (cioè, quanti byte ci sono in un char). –