有关指针的有关问题

有关指针的问题
void   a(char   *p)
{
    p   +=   5;
}

void   b()
{
    char   *t   =   (char   *)malloc(sizeof(char));
    a(t);
}

函数b调用a后,指针t的值没有改变,这时为什么?
想要是t的值改变,除了使函数a返回指针外还有什么办法?

------解决方案--------------------
void a(char *p)
{
p += 5;你更改的是指针的值 应该是 (*p)+=5;吧
}
------解决方案--------------------
(*p)+=5