더북(TheBook)

만약 배열 크기를 지정하지 않고 문자열을 저장하면 어떻게 될까요? 배열 크기를 비워 둔 채로 문자열을 저장한 후 배열의 값과 배열 크기를 확인해 보겠습니다. 배열 크기는 sizeof로 알아낼 수 있습니다. sizeof 연산자는 () 안에 넣은 배열, 변수, 자료형 등이 메모리 공간을 얼마나 차지하는지 바이트 단위로 알려 줍니다. 참고로 메모리에서 알파벳과 숫자는 1바이트를 차지합니다.

따라서 sizeof(str)라고 작성하면 str 배열의 크기를 알 수 있습니다. 6글자를 저장했으니 6이 나올까요? 실행해 봅시다.

6.4.1 배열에문자열저장하기.c

int main(void) {
    char str[] = "coding";
    printf("%s\n", str);
    printf("%d\n", sizeof(str));
    return 0;
} 

실행결과 icon_con

coding
7
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.