zoukankan      html  css  js  c++  java
  • 浅谈const char*,char* const,const char* const的区别

    第一种: const char*

    const修饰的是char(因为它靠char更近),这时它不能被修改,但可以指向别的变量(因为它修饰的不是指针,所以可以指向别的地址),举个例子吧:

    const char* s="legend";
    s[0]='s';//这样是错的!因为它不能被修改!
    char* p="hero";
    s=p;//可以这样,因为它可以指向别的变量

    第二种: char* const

    const 修饰的是*,即指针,表明它只能指向这个地址,不能指向别的变量,但是可以对值进行修改,例如:

    char* const s="legend";
    s[0]='s';//这是可以的,它可以对值进行修改
    char* p="hero";
    s=p;//这是错误的!因为const修饰的是指针,地址是不能改变的!所以不能再指向别的变量啦!

    第三种: const char* const

    这种就综合了以上两种,既不能改变值,又不能指向别的变量,例:

    const char* const s="legend";
    s[0]='s';//错误!值不能被修改
    char* p="hero";
    s=p;//错误!它不能再指向别的值!
  • 相关阅读:
    开篇词The Start以及[Vjudge][HDU2242]空调教室
    [故地重游][NOIP2019]格雷码
    关于非触
    致诸君
    三角形的概率
    [HDU5970] 最大公约数
    [51Nod1534] 棋子游戏
    [TJOI2018] 数学计算
    [CF938D] Buy a Ticket
    [HDU4143] A Simple Problem
  • 原文地址:https://www.cnblogs.com/YLJ666/p/12722783.html
Copyright © 2011-2022 走看看