Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 strrev() 함수 완벽 정리: 문자열을 거꾸로 뒤집는 방법

문자(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()는 원본 문자열을 직접 변경한다는 점을 기억해 두시기 바랍니다.