본문 바로가기

프로그래밍/C++

[C++] Heap에 할당 한 리버스(Reverse) 구현

반응형

코드

#include<iostream>
#include <cstring>

using namespace std;

char* ReverseString(const char* src)
{
//char reverse[100]; // <== Stack에 할당

int len = strlen(src); // include <Cstring>
char* reverse = new char[len + 1];

for (int i = 0; i < len; i++)
{
reverse[i] = src[len - i - 1];
}

reverse[len] = '\0';

return reverse;

}//Stack에 할당된 reverse 해제됨

int main()
{
char original[] = "NEMODERI";
char* copy = ReverseString(original);

cout << original << endl;
cout << copy << endl;

if (copy != NULL)
{
delete[] copy;
copy = NULL;
}
}

결과