zou_zhen
2017-05-12 02:41
采纳率: 78.9%
浏览 828

C++的字符指针问题??

求教大神解释一下啊下面两句代码第一句对,第二句不对。

 const char *s3 = "third ";
 char *s3 = "third ";
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 卖太妃糖的古尔丹 2017-05-12 03:03
    已采纳

    两句都没问题啊 ,当然你不能写在一个作用域下,声明变量不能重复,这两个的区别在于const char s3 是常量字符指针,不能修改指针指向的位置,而下面那个是字符指针可以修改,做实参的时候一般用const char这种,可以保证不会被修改,而且字符指针可以赋值给常量,反之不可以,这样的方法适用性更好,比如拷贝构造就是这么干的

    点赞 打赏 评论
  • tongdings 2017-05-12 02:49

    编译和输出都没有问题的

    点赞 打赏 评论
  • qq_36760828 2017-05-12 02:56

    指针不会分配内存。正确的操作应该是
    char szTmp[]="thread ";
    char* pStr=szTmp;
    const是指向常量的指针。

    点赞 打赏 评论
  • 小邓在路上 2017-05-12 03:02

    谁跟你说第二个不对的,没什么问题

    点赞 打赏 评论

相关推荐 更多相似问题