2013-03-19 5 views

답변

3

배열을 포인터로 지정하려고합니다. 이것은 유효하지 않습니다. 배열은 lvalues로 사용할 수 없다는 점에서 포인터 상수와 같습니다. 포인터는 다른 곳을 가리 키도록 다시 할당 할 수 없습니다. 가장 가까운 곳은 foo의 내용을 hello로 복사하는 것입니다.

두 번째 경우 hello는 char 배열이고 foo는 char 포인터입니다. 일반적으로 배열은 동일한 유형의 포인터와 상호 교환 가능하므로 유효합니다.

+2

감사합니다. 내 질문에 대한 답변을하고 내 의구심을 해결했습니다. –

3

"hello" 문자열은 hello으로 복사됩니다. 틀렸어. 포인터를 다른 포인터에 지정하려고합니다. 그리고 hello에 지정할 수 없습니다.

올바른 방법은 다음과 같습니다 당신이 잘못 인 foo는 포인터에 문자열을 할당하는 첫 번째 경우에

strcpy(hello, foo); 
0

. 두 번째 경우에는 char 배열이 있고 foo 포인터로 전달합니다

관련 문제