我对C不熟悉,所以这可能是个愚蠢的问题。我在写一段代码,如下所示:
char ar[]="test";
*(ar+1)='r';这很好用。但每当我这么做的时候
char *p="test";
*(p+1)="r";这就产生了分割错误。有谁能描述一下为什么第二种情况会产生分割错误?从记忆的角度进行解释将不胜感激。
发布于 2013-11-30 06:23:41
示例'r‘== 114 (可能)的另一个方面,而"r“==是可执行文件中const字符串"r”的起始地址。
https://stackoverflow.com/questions/20296674
复制相似问题