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";