책 내용 질문하기
질문있습니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
206
조회수
50
작성일
2018-06-28
작성자
탈퇴*원
첨부파일

1권 206페이지 C 코드에서

munja 배열에 별도로 널문자를 저장시키는 작업을 하는데

C언어에서는 문자열을 배열로 저장할 때 널문자때문에 별도의 지정없이 문자열에 있는 문자수보다 1 더 큰 배열을 사용하던데 a 배열의 경우 이런 이유로 char a[11]이라고 한건가요?

그렇다면 munja배열에 널문자를 저장하는 작업을 하지 않아도 자동으로 널문자가 따라다니는거 아닌가요?

1권 52페이지 예제 C코드의 4번째 줄에서도 글자수보다 1 큰 배열을 사용한다고 되어있어서 질문드립니다.

답변
2018-06-28 10:28:12

안녕하세요.

C언어는 JAVA와 같이 문자열을 처리하는 string 자료형이 없습니다.

그러므로 문자열을 처리할 때 문자열이 아닌 문자 하나씩을 처리하는 char형을 배열로 선언한 후 처리해야 하는데,

이 경우 char형의 배열에 저장된 전체의 값이 문자열로 인식되게 하기 위해 배열 마지막에 '\0'을 저장하게 됩니다.

이로 인해 배열의 크기를 저장된 문자열의 크기보다 1개 더 크게 선언하는 것입니다.

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

  • *
    2018-06-28 10:28:12

    안녕하세요.

    C언어는 JAVA와 같이 문자열을 처리하는 string 자료형이 없습니다.

    그러므로 문자열을 처리할 때 문자열이 아닌 문자 하나씩을 처리하는 char형을 배열로 선언한 후 처리해야 하는데,

    이 경우 char형의 배열에 저장된 전체의 값이 문자열로 인식되게 하기 위해 배열 마지막에 '\0'을 저장하게 됩니다.

    이로 인해 배열의 크기를 저장된 문자열의 크기보다 1개 더 크게 선언하는 것입니다.

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

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