Thursday, February 22, 2007
C언어] 문자열 배열(포인터 배열) 순서 거꾸로 뒤집기; Reverse String Array
문자열 배열의 각 요소들에는 순서가 있습니다. 그 순서를 반대로 뒤집는 것입니다. 예를 들어
AAA, BBB, CCC
이런 문자열들이 들어 있는 배열이 있다면,
CCC, BBB, AAA
이렇게 변경하는 것입니다. 아래의 reverseArrayString() 이라는 함수가 바로 이런 작업을 하는데, 2번째 파라미터로서, 배열 요소 개수, 즉 배열 크기를 넣어 주어야 합니다.
소스 파일명: example.cpp
"문자열 배열"이 아닌, 그냥 문자열을 거꾸로 만드는 방법입니다: ▶▶ C언어] 문자열 거꾸로 뒤집기, 반전시키기; Reverse String
▶▶ C언어] 포인터 배열 (문자열 배열) 요소 개수(크기/사이즈) 구하기; String Array Size
AAA, BBB, CCC
이런 문자열들이 들어 있는 배열이 있다면,
CCC, BBB, AAA
이렇게 변경하는 것입니다. 아래의 reverseArrayString() 이라는 함수가 바로 이런 작업을 하는데, 2번째 파라미터로서, 배열 요소 개수, 즉 배열 크기를 넣어 주어야 합니다.
문자열 배열 요소 순서 정반대로 반전 예제
소스 파일명: example.cpp
#include <stdio.h>
void reverseArrayString(char* s[], size_t size);
int main(void) {
char *s[] = {
"A", "BB", "CCC", "DDDD", "EEEEE", "가나다라", "마바사하"
};
// 문자열 배열 뒤집기
// sizeof(s) / sizeof(s[0]) 는 배열의 요소 개수
reverseArrayString(s, sizeof(s) / sizeof(s[0]));
// 뒤집어진, 문자열 배열 출력
for (int i = 0; i < sizeof(s) / sizeof(s[0]); i++)
printf("%s, ", s[i]);
// 출력 결과: 마바사하, 가나다라, EEEEE, DDDD, CCC, BB, A,
return 0;
}
// 문자열 배열 순서 거꾸로 뒤집는 함수
void reverseArrayString(char* s[], size_t size) {
char *temp;
for (size_t i = 0; i < size / 2; i++) {
temp = s[i];
s[i] = s[(size - 1) - i];
s[(size - 1) - i] = temp;
}
}
void reverseArrayString(char* s[], size_t size);
int main(void) {
char *s[] = {
"A", "BB", "CCC", "DDDD", "EEEEE", "가나다라", "마바사하"
};
// 문자열 배열 뒤집기
// sizeof(s) / sizeof(s[0]) 는 배열의 요소 개수
reverseArrayString(s, sizeof(s) / sizeof(s[0]));
// 뒤집어진, 문자열 배열 출력
for (int i = 0; i < sizeof(s) / sizeof(s[0]); i++)
printf("%s, ", s[i]);
// 출력 결과: 마바사하, 가나다라, EEEEE, DDDD, CCC, BB, A,
return 0;
}
// 문자열 배열 순서 거꾸로 뒤집는 함수
void reverseArrayString(char* s[], size_t size) {
char *temp;
for (size_t i = 0; i < size / 2; i++) {
temp = s[i];
s[i] = s[(size - 1) - i];
s[(size - 1) - i] = temp;
}
}
"문자열 배열"이 아닌, 그냥 문자열을 거꾸로 만드는 방법입니다: ▶▶ C언어] 문자열 거꾸로 뒤집기, 반전시키기; Reverse String
▶▶ C언어] 포인터 배열 (문자열 배열) 요소 개수(크기/사이즈) 구하기; String Array Size
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home