문자 배열을 문자 포인터로 복사하려고합니다. 내 코드 :문자 배열을 문자 포인터로 복사하는 방법은 무엇입니까?
char str[] = "Hello World";
char *result = (char *)malloc(strlen(str)+1);
int index=0;
while(index <= strlen(str))
{
*result = str[index];
result++;
index++;
}
이 위의 코드는 작동하지 않는 코드 아래
이char str[] = "Hello World";
char *result = (char *)malloc(strlen(str)+1);
int index=0;
while(index <= strlen(str))
{
result[index] = str[index];
index++;
}
사람이 동작을 설명 할 수 노력하고 있습니다?
첫 번째 코드는 * 어쨌든 잘 작동합니다.그 문제는 포인터를 원래의 위치를 가리 키지 않을 루프 이후에 포인터를 수정하는 것입니다. 다른 포인터를 변수로 만들고 루프가 'result'를 가리 키기 전에 그것이 작동한다는 것을 알 수 있습니다. –
첫 번째 코드 _가 작동하지 않음을 어떻게 알 수 있습니까? – CiaPan
'index <= strlen (str)'- '보다 작음'보다는 '작거나 같음'을 사용해야합니다. – CiaPan