계속 질문만 하네요. 코드블럭으로 C 공부하는 잼민이 입니다.
C에서 char형 변수는 용량이 1Byte로 알고 있습니다.
ASCII 코드로 단어가 저장되기에
char C = 65;
printf("%c %d", C, C) ;
하면 출력이 A, 65가 되는것 까지는 이해했습니다.
좀 더 구체적으로 말하자면
00000000 <===요게 2진수 8bit 에서
C에 65가 저장되면
01000001<===이리 되고
문자로 출력하면 A, 10진수로 출력하면 65가 되는거겠죠.
그런데....한 단어 이상 되는 문자는 어떻게 char형에 저장이 되나요?
개인적인 추측이지만, char에 문자저장될때 그 길이를 지정해주고 NULL문자로 끝을 찍어줘야 하니까.
예를 들어 char C[10] 이라고 한다면
C에는 문자의 첫번째 글자만 들어가고 나머지 글자들은 ...C[10]에 저장되는 문장의 첫번째 글자가 들어가는 물리적인 어떤 공간에서 연속적으로 들어가는거 아닌가 합니다.
그래서 NULL문자로 끝을 안 찍어주면 어디서 문장이 끝나는지 모르니 되던안되는 끝까지 출력되는 거고...
혹시 저의 추측이 맞는지요?