【发布时间】:2011-01-24 19:45:02
【问题描述】:
在下面这段代码中,计算strlen,
int s(const char* str)
{
int count=0;
while(*str++) count++;
return count;
}
您可以看到参数 str 是 const。但是,当我执行 str++ 时,编译器不会抱怨。我的问题是
当将指针作为参数传递给 C 函数时,如果 is 用 const 限定,我怎样才能对其执行指针运算?上述函数中的 const 是什么?
【问题讨论】:
-
谢谢!所以,如果我像编译器看到的那样给上面的声明加上括号,它看起来像 (const char) *str,使 const 限定了 char。如果我把它改成 const char * const str,它看起来像 (const char) (const char(*str))