포인터를 파악하려고하는데이 간단한 코드를 가지고 설명이 필요합니다.C++ pointer using using
하나의 char 배열을 다른 배열에 복사해야합니다.
const int MAX_SIZE = 100;
char x[MAX_SIZE] = "1234565";
char* y = new char[MAX_SIZE];
copyArray(x, y);
std::cout << y;
delete [] y;
지금 (돌기 잘 작동)이 코드를 어떻게하는지, 질문이 온다 : 내 주요 기능에이 코드가
while ((*dest = *source) != '\0')
{
dest += 1;
source += 1;
}
이에서 다름을 (말에 이상한 문자를 제공) :
while (*source != '\0')
{
*dest = *source;
dest += 1;
source += 1;
}
이 두 함수는 꽤 유사합니다. 원본 문자열에서 null 종결자가 될 때까지 복사하는 것이 좋습니다 (2 번째 기능)?
올바르게 작동하지 않습니다. 복사 된 배열의 끝에 이상한 문자가 표시됩니다. 그러나 첫 번째 기능은 정상적으로 작동합니다. 이 평가 된 후에
void copyArray(const char* source, char* dest);
맞아요. 제안 된 태그를 두 번 사용했습니다. 죄송합니다. – daavid245
'while ((* dest = * source)! = '\ 0')'루프가 끝나기 전에 필요한 '\ 0' 끝. 또한 http://idownvotedbecau.se/nodebugging/을 참조하십시오. – user0042
두 번째 예에서 문자열을 종료하지 않는다는 의미의 '\ 0'을 만나면 루프가 중단됩니다. – daavid245