数字转化为字符,str+5这个部分是什么意思,函数声明中不是指针吗,为什么这里可以用str+5

#include<stdio.h>
void itoa(long i,char *s)
{
if(i==0)
return;
*s = '0'+i%10;
itoa(i/10,s-1);
}
int main()
{
long n;
char str[7]="";
scanf("%ld",&n);
itoa(n,str+5);
printf("%s",str);
return 0;
}