작성
·
196
0
다른 분들이 한 거 찾아봤는데
Int my_strcmp(char*str1, char*str2)
{
While (*str1)
{
if (*str1 != *str2)
Break;
Str1++;
str2++;
}
Return *(char*) str1 - *(char*) str2;
}
로 하신분이 있더라고요! 여기서 질문은 str1과 str2는 이미 char 타입 포인터인데 왜 캐스팅을 하는지 궁금합니다!
답변 1
0
str1과 str2는 char타입이 아닌
char * 타입으로 보입니다.
문의해주신 캐스팅 부분이 아래 코드이신 것 같은데,
이는 char * 타입이 "가리키는 값"끼리 빼주기 위한 코드입니다.
*(char*) str1 - *(char*) str2;