void test(char *hoge)
{
  char c[] = "piyo";

  hoge = malloc(sizeof(char) * 5);
  strcpy(hoge, c);
  printf("%s\n", hoge);
}

int main(void)
{
  char *c;

  test(c);
  printf("%s\n", c);

  return 0;
}

↑で、関数testのprintfでは、ちゃんとpiyoが表示されるのに
mainのprintfでは表示されないのですが、どうしてでしょうか?