全部评论
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指向字符串常量 无法修改?
常量区不可修改
相关推荐
查看8道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
深情的鳄鱼不放弃:我也是26届的,我想进小红书实习
查看3道真题和解析 点赞 评论 收藏
分享
