有关指针的有关问题
有关指针的问题
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
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