![]() |
1
5
这声明了一个指向字符串常量的指针。无法修改该常量,这就是代码崩溃的原因。如果你写得更迂腐
然后编译器会发现错误。您可能应该在任何时候声明指向字符串文字的指针而不是创建数组时执行此操作。 另一方面,它为20个字符分配读/写存储,因此可以向空间写入。
如果您想将其初始化为上面的字符串,您可以这样做,然后允许更改它。
|
![]() |
2
2
|
![]() |
3
2
在第二种变体中,
这个可能很有趣: http://eli.thegreenplace.net/2009/10/21/are-pointers-and-arrays-equivalent-in-c/ |
![]() |
4
2
Question 8.5 在C常见问题列表中。 |
![]() |
5
1
当你这样做的时候
编译程序
副本
编译器分配给
字符串文字是
当我使用字符串文字来初始化
假设你有
编译器创建了1个单字符串文本,并使用该单字符串文本初始化test1和test2。如果允许您更改字符串文字。。。
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 5 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |