인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Jang JunHyeok님의 프로필 이미지
Jang JunHyeok

작성한 질문수

홍정모의 따라하며 배우는 C언어

4.3 문자열이 메모리에 저장되는 구조

NULL 관련 질문

작성

·

235

0

char str1[3]="HEL"

printf("%c, %c, %c", str1[0], str1[1], str1[2]);

했을때 출력 결과과, H,E,L 모두 잘 되는데 칸이 3개이고 HEL이 다 들어갔는데 NULL은 어디 간건가요? 

애초에 [3]으로 하고 = "HEL" 하면 오류가 나야하는것이 아닌가요?

 

답변 1

0

본래 딱 맞게 문자열을 입력하면 

에러가 발생하지는 않지만,

이는 예상하신대로 올바른 입력이 아닙니다.

널문자가 저장되지 않기 때문이지요.

보여주신 코드는 한 글자 한 글자씩 출력하기 때문에 문제가 없어 보이지만

문자열 형식으로 출력하면 아래와 같이 올바르게 출력되지 않음을 알 수 있습니다.

Jang JunHyeok님의 프로필 이미지
Jang JunHyeok

작성한 질문수

질문하기