Programming/C
[Programming/C] 포인터를 이용한 문자열 리버스
scii
2020. 6. 17. 14:27
#include <stdio.h>
#include <string.h>
void Reverse(char* str) {
int len = strlen(str) - 1;
char* ptr = str + len;
while (ptr >= str) {
printf("%c", *ptr);
ptr--;
}
}
int main(void) {
char* str = "Hello World!!";
Reverse(str);
return 0;
}
// 결과
/*
!!dlroW olleH
*/
ptr 포인터 변수를 널 문자 바로 앞으로 이동시킨 후 포인터 연산을 통하여 처음의 메모리 주소 값으로 점차 다가가도록 하였다.
즉, ptr 포인터 변수는 문자열 끝을 가리키다가 맨 처음으로 돌아오고 반복이 종료된다.