문자(character)들이 모여 이루어진 배열을 문자열(string)이라고 부릅니다.
문자열의 선언
C 언어에서 문자열 배열을 선언하는 기본 문법은 다음과 같습니다.
char stringname [size];
예를 들어 char string[50];은 최대 50글자 길이의 문자열을 저장할 수 있는 배열을 의미합니다.
문자열의 초기화
문자열을 초기화하는 방법에는 두 가지가 있습니다.
- 단일 문자 상수를 이용한 초기화
char string[10] = { 'H', 'e', 'l', 'l', 'o', '\0' };
- 문자열 상수를 이용한 초기화
char string[10] = "Hello";
접근(Accessing) − 서식 지정자 %s를 사용하면 문자열 끝의 널 문자('\0')를 만날 때까지 문자열 전체를 한 번에 출력하거나 입력받을 수 있습니다.
strrev() 함수란?
- strrev() 함수는 문자열을 역순(거꾸로)으로 뒤집는 데 사용되는 함수입니다.
- 뒤집힌 결과는 별도의 변수가 아닌 원래 문자열 자체에 저장됩니다.
- 이 함수를 사용하려면
<string.h>헤더 파일을 포함해야 합니다.
문법(Syntax)
strrev() 함수의 기본 문법은 다음과 같습니다.
strrev (string)
참고: strrev() 함수는 ANSI 표준 C 라이브러리에는 포함되어 있지 않으며, 주로 Turbo C와 같은 일부 컴파일러 환경에서 제공됩니다. GCC 등 표준 환경에서는 직접 구현해서 사용해야 할 수 있습니다.
예제 1: strrev() 기본 사용법
다음 프로그램은 strrev() 함수의 기본적인 사용법을 보여줍니다.
#include<stdio.h>
main ( ){
char a[50] ;
clrscr( );
printf ("enter a string");
gets (a);
strrev (a);
printf("reversed string = %s",a)
getch ( );
}
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
enter a string Hello Reverse string = olleH
입력한 문자열 "Hello"가 strrev() 함수에 의해 "olleH"로 뒤집혀 출력된 것을 확인할 수 있습니다.
예제 2: 뒤집기 전후 비교하기
문자열 뒤집기 동작을 더 명확하게 이해하기 위해, 함수 호출 전후의 문자열 상태를 함께 출력하는 예제를 살펴보겠습니다.
아래는 strrev 라이브러리 함수를 사용하여 문자열을 뒤집는 C 프로그램입니다.
#include<stdio.h>
#include<string.h>
void main(){
char string[25];
printf("Enter String to be reversed : ");
gets(string);
printf("String before strrev(): %s\n",string);
strrev(string);
printf("The string after strrev(): ");
puts(string);
}
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Enter String to be reversed : Tutorials Point String before strrev(): Tutorials Point The string after strrev(): tnioP slairotuT
출력 결과에서 알 수 있듯이, strrev() 함수 호출 전에는 원본 문자열 "Tutorials Point"가 그대로 유지되다가, 함수 호출 후에는 "tnioP slairotuT"처럼 글자 순서가 완전히 반전된 것을 확인할 수 있습니다. 이처럼 strrev()는 원본 문자열을 직접 변경한다는 점을 기억해 두시기 바랍니다.