c - 为什么第二个代码出现段错误?

标签 c string segmentation-fault

Possible Duplicate:
Why is this C code causing a segmentation fault?

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

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

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

为什么首先不会产生段错误。

最佳答案

char* array = "kapil"; 声明一个字符串文字,相当于 const char*。这很可能存在于只读存储器中并且无法修改。

严格来说,尝试修改它会导致未定义的行为,但实际上可能会出现段错误。

关于c - 为什么第二个代码出现段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953790/

相关文章:

c - slider 拼图中的段错误

c 没有二维数组会出现段错误

c - 段错误,在 C 中初始化递归结构

c++ - 什么属于 "Data Oriented Design"?

检查数组是否是单峰的

regex - 从没有正则表达式的字符串中剪切 url

c++ - 如何转换标准 :string to CString in unicode project

c++ - curl 字符串追加问题,curl_formadd C++ 读取带有额外字符的变量但直接工作正常 CURLFORM_COPYNAME, "key"[?]

c - 我应该如何获得浮点值的小数部分?

c - 打印出值 uint8_t *