더북(TheBook)

6.1.5 스트링은 특별하다

스트링(string)C은 배열의 특수한 형태로서 지금까지 여러 번 본 적이 있는데, 다른 배열과 달리 리터럴도 있다.

TAKEAWAY 6.15 스트링은 0으로 끝나는 char 타입 배열이다.

다시 말해 "hello"란 스트링의 끝에는 값이 0이면서 겉으로는 드러나지 않는 원소가 하나 더 있다. 따라서 이 스트링의 길이는 6이다.

스트링 역시 배열이므로 다른 값을 대입할 수 없지만, 스트링 리터럴로 전체를 초기화할 수는 있다.

char jay0[] = "jay";
char jay1[] = { "jay" };
char jay2[] = { 'j', 'a', 'y', 0, };
char jay3[4] = { 'j', 'a', 'y', };

네 선언문은 모두 같다. 주의할 점은 char 배열이라고 해서 모두 스트링은 아니라는 것이다. 예를 들면 다음과 같다.

char jay4[3] = { 'j', 'a', 'y', };
char jay5[3] = "jay";
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.