关于c语言自定义函数mid()有一些地方不理解

char * mid(char *dst,char *src, int n,int m) /n为长度,m为位置/
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len-m; /从第m个到最后/
if(m<0) m=0; /*从第一个开始*/
if(m>len) return NULL;
p += m;
while(n--) *(q++) = *(p++);
*(q++)='\0'; /有必要吗?很有必要/
return dst;
}
这里面的src是字符串,n为长度,m为位置的话,dst是什么?

dst是目标串,就是mid处理的返回数据
最后return dst,使得返回值和dst是一样的