배열의 요소는 모든 유형이 될 수 있으며, 문자열은 길이를 결정하기 위해 잘 알려진 규칙을 사용하는 특수한 유형의 배열입니다.
언어에는 두 가지 유형이 있습니다. 단순히 문자열을 문자 배열로 취급하는 언어와 문자열을 특수 유형으로 취급하는 언어입니다. C는 전자 범주에 속하지만 한 가지 추가 사항이 있습니다. 즉, C 문자열이 NUL 문자로 종료됩니다. 배열의 값은 배열의 첫 번째 요소(또는 해당 요소에 대한 포인터)의 주소와 동일하므로 일반적으로 C 문자열과 문자 포인터는 동일합니다.
배열의 길이는 임의적일 수 있습니다. 배열 이름이 함수에 대한 인수로 사용되는 경우 함수는 배열 이름 자체에서 배열의 크기를 알 수 없으므로 일종의 규칙이 도입되어야 합니다. 문자열의 경우 이 규칙은 문자열의 마지막 문자가 ASCII 문자 NUL('참고: 일부 사람들은 이 현상을 "C 유머"라고 부릅니다. 대부분의 C 프로그래머가 하루 종일 작성하는 프로그램으로 인해 어려움을 겪고 바쁜 일정에서 거의 휴식을 취하지 않는 것은 바로 이러한 유머 때문입니다.