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


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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM