|
|
1
6
您定义的数组是指向字符串的指针数组;每个字符串都是一个 字面意义的 (即,被解释为指针的带引号的字符串)-这意味着它是一个 常数 ,即使你没有申报。不能修改字符串文字。 如果希望能够修改它们,可以使用显式数组分配:
|
|
|
2
2
参见C-FAQ。 Question 1.32 |
|
|
3
0
与其将数组保持为指针数组,不如将其设置为二维字符数组,这样可以分配空间。 现在,因为它是一个char*数组,并且初始化是使用字符串文字进行的,所以当您试图覆盖字符串文字的只读内存时,它会崩溃。 |
|
4
0
您已经将msgToUser定义为字符指针的向量。这些字符指针指向存储在已标记为只读的内存中的字符串(字符数组)(在Microsoft的VisualStudio中,您可以通过编译器选项更改)。 因此,如果您更改此内存,处理器将引发异常(您试图在只读内存中写入),应用程序将崩溃。 |
|
|
CH_YUR · 为什么这段代码有分段错误? 4 年前 |
|
|
Okonjo Mitchel · CS50凯撒:分段故障问题 4 年前 |
|
|
Drin Kurtishi · cs50在线课程中凯撒问题集的问题 4 年前 |
|
|
DynamicApproach · 提取exec函数的参数 4 年前 |
|
Horcrux7 · 如何使用jffi/jnr处理SIGSEGV? 4 年前 |
|
|
J.Doe · 向函数传递双指针以获取C中的字符串 8 年前 |