Ошибки указателя в способе передачи (c ++)

Я столкнулся с проблемой. Я пытаюсь изменить указатель, но указатель не изменяется. Вот мой код:

 void TestPoint(char* point)
{
point=new char[10];
}
int main(int argc, char* argv[])
{
  char* test=NULL;
  TestPoint(test);
  **//At this point the "test" is still null,why ?**
  return 0;
}

Извините, мой английский очень плохой, и я не знаю, как вставить код на С ++.