• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

strcpy() 구현 관련 질문

23.02.22 19:44 작성 23.02.24 08:18 수정 조회수 268

0

포인터로 strcpy()를 구현할 때,

1 char* StrCpy(char* dest, const char* src)
2 {

3 char* ret = dest;

4 while (*src != '\0')

5 {

6 dest = src;

7 dest++;

8 src++;

9 }

10 *dest = '\0';

11 return ret;

12 }


dest 포인터 변수를 반환하면 main 함수에서 출력 시 아무것도 출력 되지 않고, 3번째 줄처럼 dest 주소를 다른 char형 포인터에 저장하고, 해당 포인터 변수로 main함수에 반환을 해야 정상적으로 출력이 됩니다.

어떤 이유에서 dest 포인터 변수는 출력이 안되는지 모르겠습니다.

답변 1

답변을 작성해보세요.

1

dest++;에 의해 원래 있던 주소가 아닌 다른 주소로 수정된 상태이기 때문입니다.