문자 배열(character array), 즉 여러 문자들의 집합을 문자열(string)이라고 합니다. C 언어에서 문자열은 프로그래밍의 기본이 되는 중요한 개념으로, 문자 데이터를 효율적으로 저장하고 다룰 수 있게 해줍니다.
문자열 선언(Declaration)
C 언어에서 문자열은 다음과 같은 형식으로 선언합니다.
char 문자열이름 [크기];
예를 들어 char a[50];과 같이 선언하면, 최대 50개의 문자를 저장할 수 있는 문자열 변수가 생성됩니다.
문자열 초기화(Initialization)
선언된 문자열은 두 가지 방법으로 초기화할 수 있습니다.
1. 단일 문자 상수를 이용한 초기화
각 문자를 하나씩 배열 요소에 대입하는 방식입니다.
char string[20] = { 'H', 'i', 'l', 'l', 's', '\0' };2. 문자열 상수를 이용한 초기화
큰따옴표로 묶인 문자열 전체를 한 번에 대입하는 방식으로, 더 간결하고 널리 사용됩니다.
char string[20] = "Hello";
널 문자('\0')의 역할
'\0'은 널 문자(null character)라고 하며, 문자열의 끝을 표시하는 역할을 합니다.
문자열 상수 형태로 입력이 주어지면 컴파일러가 자동으로 '\0'을 문자열 끝에 추가해 줍니다.
반면 단일 문자 상수로 하나씩 초기화하는 경우에는, 사용자가 직접 마지막에 '\0'을 반드시 넣어 주어야 합니다. 그렇지 않으면 문자열의 끝을 인식하지 못해 오류가 발생할 수 있습니다.
문자열 접근(Accessing)
문자열을 출력하거나 읽어 들일 때는 제어 문자열 %s를 사용합니다. %s는 널 문자('\0')를 만날 때까지 문자열을 계속 처리합니다.
예제 프로그램
다음은 C 언어로 작성한 문자열 출력 예제입니다.
#include<stdio.h>
main ( ){
char a[10] = "Hello";
clrscr ( );
printf ( " given string is %s",a)
getch ( );
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Given string is Hello
이처럼 C 언어에서 문자열은 문자 배열에 널 문자('\0')가 붙은 형태로 관리되며, 선언과 초기화 방법을 올바르게 이해하는 것이 안정적인 문자열 처리의 첫걸음입니다.