2015년 5월 6일 수요일

C언어의 문자열(string)

제목: C언어의 문자열(string)
태그: C언어,C++,string,문자열


 C/C++언어에서는 char형 배열로서 단어나 문장 같은 문자열을 처리하는데 사용된다. 일반적인 배열과 다른 점은 문자열의 맨 마지막에는 ‘\0’문자가 들어가야 한다는 것이다. 이것은 널(null)문자라고 한다. 문자열의 끝에 널문자를 삽입하는 것은 문자열이 어디에서 끝나는지를 명시적으로 표시하기 위해서이다.
 다음의 예제를 보자.
#include <stdio.h>
int main(void) {
char str1[] = {'H', 'e', 'l', 'l', 'o', '\0'};//❶
char str2[] = "there"; //❷
printf("%s %s\n", str1, str2);
}

실행 결과 :
Hello there
위의 예제에서 ❶에서 보면 char형 배열을 초기화할 때 일반적인 배열의 초기화 방법에 따르고 있다. 이런 식으로 문자열을 초기화한다며 맨 마지막 요소로 널문자를 사용자가 명시적으로 첨가해야 한다.. 그리고 ❷를 보면 문자열을 초기화하는 두 번째 방법이 나와 있는데 그것은 큰따옴표로 단어나 문장을 묶는 것이다. 이 경우에는 맨 마지막의 널문자을 생략할 수 있는데 컴파일러가 자동으로 널문자를 삽입해 준다. 두 번째 방법이 훨씬 간결하기 때문에 문자열을 초기화할 때는 보통 이 방법을 쓴다.

 stdio.h 의 printf()함수에서 문자열을 표시하는 제어문자는 %s이다. 이 제어문자를 만나면 해당 문자열을 널문자가 나올 때까지 화면에 표시하게 된다.
 문자열은 사용빈도가 높은 편에 속하기 때문에 C언어에서는 문자열을 제어하는 많은 함수를 지원하고 있다. 이러한 문자열을 제어하는 함수는 string.h 헤더화일에 포함되어 선언되어 있다.


댓글 없음:

댓글 쓰기