책 내용 질문하기
4번 문제 질문입니다.
도서
2024 시나공 정보처리기능사 실기 기본서
페이지
195
조회수
92
작성일
2024-10-27
작성자
이*훈
첨부파일

문제에서 char str[50] 을 통해 50개의 요소를 갖는 문자형 배열을 지정하였습니다.

다만 gets(str)을 통해 입력받은 것은 "Korea50" 으로 7개의 요소에 지나지 않습니다.


이때 str[6]까지만 요소가 들어가게 되고, str[7]에는 아스키코드 값으로 변환했을 때 0인 널 문자(\0)이 저장되었다고 해설이 되어 있는데


1. str[7]에 저장된 널 문자는 숫자 0이 저장된 것 과는 다른지 궁금합니다. 말 그대로 널 값이기 때문에 아무것도 없는 건지, 아니면 숫자 0을 저장시켜 널을 표현하는 것인지 헷갈립니다.


2. str[8]부터는 어떻게 저장되어 있는지 궁금합니다.


3. 위의 내용이 JAVA와 같은지, 혹은 다르다면 어떻게 다른지 궁금합니다.

답변
2024-10-28 11:04:47

안녕하세요 길벗수험서 운영팀입니다.

널 문자(‘\0’)는 "문자열의 끝"을 알리는 용도입니다.

문자열을 저장하는 경우 문자열의 끝을 의미하는 널 문자(‘\0’)가 추가로 저장되며,

출력 시 널 문자는 표시되지 않습니다.


str[8]부터는 아무것도 들어가지 않습니다


java의 경우 문자열을 표현하는 string 이 있기 때문에 널문자가 사용되지 않습니다.

행복한 하루되세요 :)

  • 관리자
    2024-10-28 11:04:47

    안녕하세요 길벗수험서 운영팀입니다.

    널 문자(‘\0’)는 "문자열의 끝"을 알리는 용도입니다.

    문자열을 저장하는 경우 문자열의 끝을 의미하는 널 문자(‘\0’)가 추가로 저장되며,

    출력 시 널 문자는 표시되지 않습니다.


    str[8]부터는 아무것도 들어가지 않습니다


    java의 경우 문자열을 표현하는 string 이 있기 때문에 널문자가 사용되지 않습니다.

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.