책 내용 질문하기
char 과 널문자
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
200
조회수
52
작성일
2017-06-12
작성자
탈퇴*원
첨부파일
200페이지 c언어에서 배열을 선언할 때 형태가 char이잖아여 그러면 배열의 끝에 자동으로 널문자가 추가되능 것 아닌가요? 제거 뭘 잘못 알고있는 거죠....ㅠㅠ char [] = "korea" 이렇게 배열의 크기가 아니라 배열 안에 들어갈 문자가 나올 때만 널문자가 자동으로 추가되나요?
답변
2017-06-13 09:43:09

안녕하세요.

char는 문자열이 아니라 문자를 저장하는 자료형입니다. 즉 하나의 문자만을 저장하는 것이죠.

그러므로 문자열을 처리해야 할 경우 char를 배열로 지정합니다.

배열로 지정된 상태에서도 char st[] = "abc" 와 같이 큰따옴표 안에 문자열을 입력한 경우 자동으로 문자열로 인식하여 배열의 크기가 '\0'까지 포함된 4로 지정됩니다.

즉 문자열로 지정되게 하려면 큰따옴표로 묶어야 한다는 것이죠.

char st[] = "a" 와 같이 a 한 글자를 큰따옴표로 묶으면 이 또한 문자열로 인식하여 배열의 크기가 2로 지정됩니다.

char st[] = 'a' 와 같이 a 한 글자를 작은따옴표로 묶으면 문자로 인식하여 배열의 크기가 1로 지정됩니다.

C 언어에서 char를 이용해 문자열로 인식하는 방법과 문자로 인식하는 방법의 차이를 구분해서 알아 두세요.

오늘도 즐거운 하루 되세요.

  • *
    2017-06-13 09:43:09

    안녕하세요.

    char는 문자열이 아니라 문자를 저장하는 자료형입니다. 즉 하나의 문자만을 저장하는 것이죠.

    그러므로 문자열을 처리해야 할 경우 char를 배열로 지정합니다.

    배열로 지정된 상태에서도 char st[] = "abc" 와 같이 큰따옴표 안에 문자열을 입력한 경우 자동으로 문자열로 인식하여 배열의 크기가 '\0'까지 포함된 4로 지정됩니다.

    즉 문자열로 지정되게 하려면 큰따옴표로 묶어야 한다는 것이죠.

    char st[] = "a" 와 같이 a 한 글자를 큰따옴표로 묶으면 이 또한 문자열로 인식하여 배열의 크기가 2로 지정됩니다.

    char st[] = 'a' 와 같이 a 한 글자를 작은따옴표로 묶으면 문자로 인식하여 배열의 크기가 1로 지정됩니다.

    C 언어에서 char를 이용해 문자열로 인식하는 방법과 문자로 인식하는 방법의 차이를 구분해서 알아 두세요.

    오늘도 즐거운 하루 되세요.

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