C - 为什么第二个代码中的分段错误



可能的重复项:
为什么这个 C 代码会导致分段错误?

char array[6] = "kapil";  
array [0] =  'K';    

此代码运行正常。
但是以下代码会产生分段错误?

char* array = "kapil";  
array [0] =  'K';   

为什么首先不产生赛格错误。

char* array = "kapil";声明

一个字符串文字,等效于const char*。 这可能存在于只读内存中,无法修改。

严格来说,尝试修改它会导致未定义的行为,但在实践中可能会出现 seg 故障。

char* array = "kapil";使用这种类型的声明,它会在只读上下文中复制kapil,您可以更改其内容。

相关内容

  • 没有找到相关文章

最新更新