这个代码第三行while(*a!='\0') { a++; }是什么意思,*a 和a的区别在哪里

char catstr(chara,charb)
{
char
x=a;
while(*a!='\0')
{
a++;
}
while(*b!='\0')
{
*a=*b;
a++;
b++;
}
*a='\0';
return x;
}

这个函数功能是拼接字符串
*a是指针
指向a的地址
如果这个地址不是\0也就是没到结尾,那就把地址继续后移,一直移到a的尾部,然后再把b的地址赋值给a的尾部。
这是啥语言啊 这格式化代码真是nb