#include<ctype.h>
void ChangeStr(const char *String);
int main(void)
{
char str[] = "The C programme";
Change(str);
printf(str);
system("Pause");
return 0;
}
void ChangeStr(const char *String)
{
char *Source = (char *)String;
while (*Source)
{
*Source = toupper(*Source);
Source++;
}
}
//end
上面的程序把字符串中的每个字符都转换成大写字母了。因为*String把地址给了*Source,而
*Source的值的改变编译器并不干涉,可能有的编译器会发出警告之类。上面的程序只是为了说明const并不会阻止
参数的修改,如果象上面程序那样,个人感觉没什么意义,只会让人容易混乱而已。
上面是从网上看到一位仁兄写了这样的看法,我不太清楚const的具体实现,但是我觉得好像他说的没有什么道理,我也没有什么充足的理由来推翻他。如果有高手看到了帮忙解释一下,我正在深入的去理解const的含义。