6
Powiel możliwe:
Why are C character literals ints instead of chars?wielkość typu char w C
ludzie,
Próbowałem wydrukować wielkości char w C z następującego kodu, Mam wynik wyjściowy jako
int, 4
char, 1
char?, 4
Dlaczego ostatni nie jest taki sam jak drugi? Dzięki.
#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 -of-chars. W związku z tym, głosuję, aby zamknąć (choć to nie jest złe pytanie) –
Dyskusja na ten temat została podniesiona przed: http://stackoverflow.com/questions/433895/why-are-c-character-literals -ins-of-of-chars –
Zauważ, że 'sizeof (char)' to z definicji 1 "sizeof()" zwraca wartości w jednostkach char. Które nie są takie same jak bajty! AFAICT nie ma sposobu na uzyskanie rozmiaru struktury w _bytes_ bez wiedzy o platformie (tj. Ile bajtów jest w char). –