C

[C] 058 strcpy() 내부흐름 이해하기

qkrwngus 2021. 1. 25. 19:43

Desc :

 

 


Source Code :

#include <stdio.h>

#define KOREA "대한민국"

char* My_strcpy(char* dest, const char* src);

void main()
{
	char string[100];

	My_strcpy(string, KOREA);

	puts(string);
}

char* My_strcpy(char* dest, const char* src)
{
	if (dest == (int)NULL || src == (int)NULL)	// 모든 문자열의 길이가 0 --> null값 반환, 
	{
		if (*dest != (int)NULL)	
		{
			*dest = (int)NULL;			//  dest를 null로 설정한 후 (dest에 복사되니까)
		}
		return NULL;							
	}

	do
	{
		*dest++ = *src;			// src의 값을 dest에 복사
	} while (*src++ != (int)NULL);		// 끝이 아니면 반복문 또 실행

	return dest;
}

 


Result :