已采纳回答 / 慕侠2466091
这是一个很特别的情况。 理论上是要报错的,应该无法执行,编译阶段就报错。"helloworld" 是字符串常量,它是不允许被修改的。所以你说的“.... 但指向的空间中的数据可变” 这句话不对。 字符串常量存放的位置是很特殊的,是只读的,不允许修改。可以像下面这样做:char arr[20] = "helloworld";char * const foo = arr;foo[0] += 'c';cout << foo << endl;
2020-09-26