C语言函数中的参数有const的问题

照理说有const的参数怎么还能执行*strDest++=*strSrc++;呢 请大师解答
char* Copy(char* strDest,const char* strSrc)
{
char* strDestCopy = strDest;
while (*strSrc!='')
{
*strDest++=*strSrc++;
}
return strDestCopy;
}

首先,你得先区分const char* a和char* const a的区别。
一个是把指针定为const 。就是不能修改指针。也就是char * const p
一个是把指针指向的内容定为const 。就是不能修改指针指向的内容 也就是const char *p
在这里,const char* strSrc表示的是不能修改指针指向的内容,但是对于*strDest++=*strSrc++;
只是在修改指针strSrc的指向,所以是可以成立并且执行的
原文地址:https://www.cnblogs.com/HuangNanShan/p/8046535.html