|
|
1
17
你的理解是正确的,
问题是C是
这种行为是C。例如,C++不允许这样做,需要显式强制转换(C样式的CAST或
将字符串文字赋给非常量字符,
不幸地
话虽如此,为了停止改变指针
它本身
,必须将其声明为指向char的const指针(
对于所有错误行,GCC都给出“error:assignment of read-only location”。 |
|
|
2
3
“const”实际上是编译时的东西,所以除非指针指向某个无效内存,否则不要期望出现segfault。当使用const指针的方式可能会改变它们指向的任何对象时(在本例中,将其传递给接受非const的strcpy),将生成一个警告。 |
|
3
1
对!这意味着我们不能改变
某物
那是因为
从技术上讲,你的代码是不正确的,相当危险。如果你在C++中尝试相同的代码,你肯定会得到一个错误。C++不允许这种隐式转换,但是C确实如此。 |
|
|
4
1
IIRC公司
使用
旁注
编辑
|
|
|
5
1
在编辑的版本中,您要做的是更改指针。这是合法的。如果你两个都不写,你就得写
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |