인프런 커뮤니티 질문&답변

KIYOMIN님의 프로필 이미지
KIYOMIN

작성한 질문수

홍정모의 따라하며 배우는 C언어

4.3 문자열이 메모리에 저장되는 구조

char str2[10] = {'H', 'I'};

작성

·

129

0

char str2[10] = {'H', 'I'}; 는 H, I라는 문자 2개를 배열에 넣어주었을 뿐인데 마지막에 널문자를 넣어주지 않아도 괜찮은 건가요??

답변 1

2

넣어주지 않아도 괜찮습니다. 배열의 나머지 원소들은 자동으로 전부 널로 채워지기 때문입니다.

char str2[10] = {'H', 'I'}; 이건 10 개의 char 문자를 저장할 수 있는 배열에다가 첫번째 두번째 원소를 H, I 를 상태인건데, 아직 할당되지 않은 나머지 8 개의 원소들은 널인 상태로 저장이 됩니다.

이렇게 나머지 원소들은 널인 상태인 것을 확인할 수 있네요. 그러니 이렇게 고정된 크기의 char 배열을 선언과 동시에 일부 원소들을 초기화 했을 땐, 나머지 원소들이 null 로 자동으로 채워지기에 이런 경우엔 굳이 안 붙여주셔도 됩니다.

KIYOMIN님의 프로필 이미지
KIYOMIN

작성한 질문수

질문하기