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/