[C언어] memcpy, strcpy

2023. 7. 31. 22:41기타(이론)/컴퓨터학과 이론

memcpy

메모리를 복사하기 위한 함수.
문자열 포인터["a","b","c"] 에서는 제대로 동작하지 않기 때문에 strcpy를 사용해야 한다. 
단일 문자를 복사하기 위해서는 직접 대입 연산자 '='를 사용해야 한다.
특히 단일 문자를 비교할 때는 작은 따옴표를 사용해야 함.
memcpy(void* destination, const void* source, size_t num);
destination : 데이터가 복사될 곳의 주소
source : 데이터가 위치한 주소
num : 복사할 데이터의 수

EX)

memcpy(&answer[s], string, len); //가능

 

strcpy

문자열 복사에 사용
strcpy(str1, str2)
str2를 str1에 복사한다.
str1을 반환, \0도 복사함.

 

strcmp

strcmp 함수는 두 개의 문자열을 비교하는 함수이지만, 단일 문자를 비교하려면 '==' 연산자를 사용해야한다.
문자열 종료를 알리는 문자는
'\0', 0, NULL
이 세 가지이다. 따라서 \0을 큰 따옴표로 묶지 말자.