728x90
반응형
SMALL
#include <stdio.h>
char *my_strcpy(char *pd, char *ps);
int main(void){
char str[80] = "strawberry";
printf("before string :%s\n", str);
my_strcpy(str, "apple");
printf("change letter : %s\n", str);
printf("another insert string : %s\n", my_strcpy(str, "kiwi"));
return 0;
}
char *my_strcpy(char *pd, char *ps){
char *po = pd;
while(*ps != '\0'){
*pd = *ps;
pd++;
ps++;
}
*pd = '\0';
return po;
}
main() 함수
1-1. 크기가 80인 char 배열 str을 선언하고 "strawberry"로 초기화
1-2. "before string :%s\n"를 사용하여 초기 문자열 "strawberry" 출력
1-3. my_strcpy 함수를 호출하여 str 배열에 "apple" 문자열 복사 후 변경된 문자열 출력
1-4. my_strcpy 함수를 다시 호출하여 str 배열에 "kiwi" 문자열 복사 후 변경된 문자열 출력. 이때, my_strcpy 함수의 반환값(복사된 문자열의 주소)을 직접 printf 함수에 전달하여 출력
my_strcpy 함수
2-1. char 포인터 pd(목적지 문자열의 주소)와 char 포인터 ps(출발지 문자열의 주소)를 매개변수로 받음
2-2. char 포인터 po를 선언하고 pd의 초기 주소를 저장 (복사된 문자열의 시작 주소를 나중에 반환하기 위해)
2-3. while 루프를 사용하여 ps가 가리키는 문자열의 끝까지 각 문자를 pd가 가리키는 배열에 복사. 문자열의 끝에 도달하면 루프 종료
2-4. 문자열 복사 후 pd에 널 문자('\0') 추가하여 문자열 끝을 표시
2-5. 복사된 문자열의 시작 주소인 po 반환
728x90
반응형
LIST
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 12) 두 문자열 중 길이가 긴 단어 출력 (0) | 2024.08.22 |
---|---|
chapter 12) 개행 문자로 인해 gets 함수가 입력을 못하는 경우 (0) | 2024.08.21 |
chapter 12) strcpy 함수를 사용한 문자열 복사 (0) | 2024.08.19 |
chapter 12) strcpy() 함수 사용법 (0) | 2024.08.18 |
chapter 12) strcmp(), strncmp() 함수를 사용한 문자열 비교 (0) | 2024.08.17 |