인프런 커뮤니티 질문&답변

YJ님의 프로필 이미지
YJ

작성한 질문수

홍정모의 따라하며 배우는 C언어

11.6 다양한 문자열 함수들

함수 내에서 포인터 산술연산에 대해 질문 있습니다.

작성

·

152

0

함수 안에서 const char* str1를 str1++ 하면 함수 호출이 끝난뒤 main에서도  str++된 형태가 되어야 하는 게 아닌지.. 의문이 들어 질문드립니다.

int main()
{
char* str = "Hello";

printf("main first %p\n", str);

my_strcmp(str, "Hello");

printf("main last %p\n", str);

return 0;
}

int my_strcmp(const char* str1, const char* str2)
{
	printf("func first %p\n", str1);

	while (*str1)
	{
		if (*str1 != *str2)
			break;

		str1++;
		str2++;
	}
	printf("func last %p\n", str1);

	return *(const unsigned char*)str1 - *(const unsigned char*)str2;
}

답변 1

1

안녕하세요?
그렇지 않습니다.
main 함수의 str와 my_strcmp 함수의 str1은 서로 다른 포인터변수입니다.

YJ님의 프로필 이미지
YJ

작성한 질문수

질문하기