【发布时间】:2012-12-06 21:18:57
【问题描述】:
char array[6] = "kapil";
array [0] = 'K';
这段代码运行正常。
但是以下代码会产生分段错误?
char* array = "kapil";
array [0] = 'K';
为什么 first 不会产生 seg-fault。
【问题讨论】:
标签: c string segmentation-fault
char array[6] = "kapil";
array [0] = 'K';
这段代码运行正常。
但是以下代码会产生分段错误?
char* array = "kapil";
array [0] = 'K';
为什么 first 不会产生 seg-fault。
【问题讨论】:
标签: c string segmentation-fault
char* array = "kapil"; 声明一个字符串字面量,等效于const char*。这很可能存在于只读内存中,无法修改。
严格来说,尝试修改它会导致未定义的行为,但实际上可能会出现段错误。
【讨论】:
char* array = "kapil";使用这种类型的声明,它将kapil复制到只读上下文中,您可以更改其内容。
【讨论】: