Sens zmiennych typu int oraz char , ich rozmiar w pamięci komputera

0

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 ?

0

http://pl.wikipedia.org/wiki/Litera%C5%82_znakowy

to powinno Ci pomóc w wyjaśnieniu.

1

http://stackoverflow.com/questions/6400758/int-is-4-bytes-but-still-it-can-be-stored-in-char-why-is-there-no-overflow

jaka jest w ogóle różnica między tym czy ja tą literę zapiszę do zmiennej char albo int ?

jakieś 4 razy

1 użytkowników online, w tym zalogowanych: 0, gości: 1