인프런 커뮤니티 질문&답변
char str2[10] = {'H', 'I'};
작성
·
159
0
char str2[10] = {'H', 'I'}; 는 H, I라는 문자 2개를 배열에 넣어주었을 뿐인데 마지막에 널문자를 넣어주지 않아도 괜찮은 건가요??
퀴즈
71%나 틀려요. 한번 도전해보세요!
C 언어에서 문자열이 메모리에 저장되는 기본적인 구조는 무엇일까요?
싱글 링크드 리스트
문자 배열 형태이며, 끝에 널 문자('\0')로 종료됩니다.
고정된 크기의 단일 변수
이진 탐색 트리
답변 1
2
넣어주지 않아도 괜찮습니다. 배열의 나머지 원소들은 자동으로 전부 널로 채워지기 때문입니다.
char str2[10] = {'H', 'I'}; 이건 10 개의 char 문자를 저장할 수 있는 배열에다가 첫번째 두번째 원소를 H, I 를 상태인건데, 아직 할당되지 않은 나머지 8 개의 원소들은 널인 상태로 저장이 됩니다.
이렇게 나머지 원소들은 널인 상태인 것을 확인할 수 있네요. 그러니 이렇게 고정된 크기의 char 배열을 선언과 동시에 일부 원소들을 초기화 했을 땐, 나머지 원소들이 null 로 자동으로 채워지기에 이런 경우엔 굳이 안 붙여주셔도 됩니다.





