프로그래밍 & 코딩 | 구독자 30명 | 식봉이는 식봉해

C에서 문장하고 단어의 저장문제

계속 질문만 하네요. 코드블럭으로 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문자로 끝을 안 찍어주면 어디서 문장이 끝나는지 모르니 되던안되는 끝까지 출력되는 거고...


혹시 저의 추측이 맞는지요?

로그인하고 댓글 작성하기
루리웹 오른쪽
루리웹 유머
루리웹 뉴스 베스트
PC/온라인
비디오/콘솔
모바일

루리웹 유저정보 베스트