char a= 65는  a라는 이름과 1바이트의 공간을 가진 메모리에 65라는 데이터를 집어넣는 거잖아?

근데 여기서 컴퓨터가 메모리 a에 들어갈 값이 숫자인지 문자인지 실수인지는 자체적으로 구별 못하지?
그래서 컴파일러가 int라고 있으면 0100 0001이라고 저장하고
char라고 있으면 아스키코드에 따른 이진수를 저장하는거임?