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