全部评论
char *p=new char[len+1]
1楼正解,字符串保存在内存的只读数据区,指向该内存区的指针无法执行写操作。
C++ 规定 string literal (字符串常量) 不能被修改,如果被修改,将是 undefined behaviour,具体楼主 可以参考这里的讨论,https://stackoverflow.com/questions/2589949/string-literals-where-do-they-go
指针指向常量区,当然不能修改。应该声明字符数组然后初始化,再用指针指向。
楼上说的当然没错,但问题是p好像只是一个空指针,并没有指向真正的内存空间。坐等楼下解释。
P指向字符串常量 无法修改?
常量区不可修改
相关推荐
点赞 评论 收藏
分享