강의

멘토링

커뮤니티

Inflearn Community Q&A

gh74160724's profile image
gh74160724

asked

C Programming - From Introduction to Game Development

Character vs String

문자 바이트 9가 나와야 하는데

Written on

·

169

1

char kor[]= "나도코딩"

printf("%sn",kor);

printf("%dn",sizeof(kor));

위 코드를 출력하면

나도코딩

13

이라고 뜹니다... 9가 나와야 하는데 여러 번 반복해도 계속 13만 나오네요. 띄어쓰기 전혀 안 넣었는데도 왜 그런지 모르겠습니다...

c

Answer 1

2

nadocoding님의 프로필 이미지
nadocoding
Instructor

안녕하세요 나도코딩입니다. 대개 한글은 2바이트지만 환경에 따라 한글이 2 바이트, 혹은 3 바이트로 달라질 수 있네요, 사용하시는 환경에서는 3바이트로 인식되어서 나도코딩 = 3바이트 x 4글자 = 12바이트에 맨 뒤에 널 문자를 넣어서 13바이트가 되겠군요. 검증을 위해서는 "나도코딩나도코딩" 이라고 입력했을 때 3바이트 x 8글자 + 널문자 = 25 바이트로 크기가 나옴을 확인하면 되겠습니다. 아래 링크 설명 일부 참고하세요 ^^

http://blog.hippolab.com/?p=61

감사합니다.

gh74160724's profile image
gh74160724

asked

Ask a question