char에는 음수가 들어갈 수 있지만 unsigned char에는 음수가 양수로 변환이 되지요.
왜 구분이 되어있는지에 대해 자세한 답변은 다른 고수님들께서 해 주실 겁니다.
일단 char는 -128 ~ 127까지 숫자를 사용할 수 있고,
unsigned char는 0 ~ 255까지 숫자를 사용할수 있습니다.
>
> 예제를 짜 봤는데, 차이점이 없습니다. 어떻게 하면 차이점을 볼 수 있을까요?
#include <stdio.h>
int main()
{
char a;
unsigned char b;
a = -35;
b = -35;
printf("%c 0x%x\n", a, a);
printf("%c 0x%x\n", b, b);
printf("\n");
printf("a=%d, b=%d\n", a, b);
}
결과)
▒ 0xffffffdd
▒ 0xdd
a=-35, b=221