Witam , mam pewną niejasność dotyczącą języka C otóż poniższy fragment kodu pokazuje o co chodzi :
#include <stdio.h>
int main (){
int c = 'y' ;
char b = 'y';
printf(" Rozmiar zmiennej typu char wynosi : %3d bajtow \n ", sizeof (b));
printf(" Rozmiar litery 'y' wynosi %3d bajtow \n", sizeof('y'));
printf(" Rozmiar zmiennej typu int wynosi %2d bajtow \n",sizeof(c));
return 0;
}
W pamięci komputera sama litera 'y' zajmuje 4 bajty. ( taki wynik podaje mi operator sizeof('y') , więc jak to jest możliwe, ze mozna ja zapisac w zmiennej znakowej czyli char , ktora zajmuje 1 bajt [?!] Wydaje mi się to nielogiczne, jaka jest w ogóle różnica między tym czy ja tą literę zapiszę do zmiennej char albo int ?