考虑:
char amessage[] = "now is the time";
char *pmessage = "now is the time";
Run Code Online (Sandbox Code Playgroud)
我从C编程语言第2版中读到,上述两个陈述没有做同样的事情.
我一直认为数组是一种操作指针来存储一些数据的便捷方式,但显然情况并非如此...... C中数组和指针之间的"非平凡"差异是什么?
我正在运行一些示例程序来重新熟悉C++,我遇到了以下问题.首先,这是示例代码:
void print_string(const char * the_string)
{
cout << the_string << endl;
}
int main () {
print_string("What's up?");
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,print_string的参数可能已经改为const char * const the_string.哪个更合适呢?
我理解不同之处在于,一个是指向常量字符的指针,而另一个是指向常量字符的常量指针.但为什么这两个都有效呢?什么时候相关?