배열초기화에 대한질문(포인터 관련) 급합니다.도움 부탁드려요.

xeon007의 이미지

funtion(char *token)
{
memset(token,0,40);
strcpy(token,"good 12312312");
}

taketoken(char *token)
{
funtion(token);
}

main()

char token[40];

taketoken(token);

printf("token : %s",token);
}

배열을 함수인자로 두번 넘겨서 인자로 받은 곳에서 메모리 초기화한후
값을 입력하는 방법으로 사용하고 있습니다.
이 구문에 오류가 있나요?.
포인터로 넘겨서 memset하면 포인터만 초기화되나요?.
아님 원래 할당한 공간이 초기화 되나요?

moonzoo의 이미지

제가 보기엔 이상없이 동작 할 것 같습니다.

주소값이 넘겨지기 때문에 처음에 넘겨진 배열이 초기화

될 것 같습니다.

ㅡ,.ㅡ;;의 이미지

제가 볼때는 문제가 있습니다..
컴파일이 안되겠군요..ㅡ,.ㅡ;;{빠진


----------------------------------------------------------------------------