【发布时间】:2012-01-05 18:42:08
【问题描述】:
我正在学习 C 语言。
我的问题是: 为什么 strlen 的参数是“const”?
size_t strlen(const char * string);
我想这是因为字符串是一个地址,所以初始化后它不会改变。如果这是正确的,这是否意味着每次使用指针作为参数构建函数时,都应该将其设置为常量?
如果我决定构建一个将 int 变量设置为 double 的函数,是否应该将其定义为:
void timesTwo(const int *num)
{
*num *= 2;
}
或
void timesTwo(int *num)
{
*num *= 2;
}
或者根本没有区别?
【问题讨论】:
-
您的一个
timesTwo示例编译;另一个没有。
标签: c function pointers prototype strlen